亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于USB的軟件綜合安全模塊設(shè)計(jì)及應(yīng)用

        2017-12-18 12:01:37章超超陳元林安博文
        電光與控制 2017年3期
        關(guān)鍵詞:下位通信協(xié)議U盤(pán)

        章超超, 陳元林, 盧 娜, 安博文

        (上海海事大學(xué)信息工程學(xué)院,上海 201306)

        基于USB的軟件綜合安全模塊設(shè)計(jì)及應(yīng)用

        章超超, 陳元林, 盧 娜, 安博文

        (上海海事大學(xué)信息工程學(xué)院,上海 201306)

        設(shè)計(jì)的軟件安全模塊是一個(gè)外置的硬件模塊,提供版權(quán)保護(hù)、核心數(shù)據(jù)加密、穩(wěn)定運(yùn)行監(jiān)控等功能。外置安全模塊采用USB與PC主機(jī)連接,通過(guò)將安全模塊內(nèi)的微控制器虛擬為USB大容量存儲(chǔ)設(shè)備,實(shí)現(xiàn)了免驅(qū)動(dòng)的便攜數(shù)據(jù)通道。設(shè)計(jì)了一種基于報(bào)文的分層通信協(xié)議棧作為安全模塊與PC的通信規(guī)約,實(shí)現(xiàn)安全可靠的數(shù)據(jù)通信,并提供通用的調(diào)用接口。以電纜載流量分析軟件為應(yīng)用實(shí)例,說(shuō)明安全模塊的使用方法。

        數(shù)據(jù)加密; 數(shù)據(jù)通信; USB; 版權(quán)保護(hù); 通信規(guī)約; 載流量分析

        0 引言

        軟件的版權(quán)保護(hù)、核心數(shù)據(jù)加密、穩(wěn)定運(yùn)行監(jiān)控功能是開(kāi)發(fā)人員亟待解決的重要問(wèn)題。根據(jù)加密方式,目前軟件版權(quán)保護(hù)及數(shù)據(jù)加密技術(shù)分為軟加密和硬加密[1]。軟加密不依賴特定硬件,但軟件實(shí)現(xiàn)手段不利于授權(quán)管理[2];硬加密依賴特定的硬件,通過(guò)硬件和軟件相結(jié)合的方式來(lái)實(shí)現(xiàn)加密保護(hù),其優(yōu)勢(shì)在于利用硬件的不可復(fù)制性達(dá)到較高強(qiáng)度的加密保護(hù)[3]。目前市面上的加密狗屬于硬加密的一種方式,但是市場(chǎng)上的加密狗不能同時(shí)滿足上述3個(gè)功能需求。本文設(shè)計(jì)的綜合安全模塊采用通用USB傳輸接口,具備認(rèn)證、存儲(chǔ)、運(yùn)算、故障恢復(fù)、繼電輸出等功能。重點(diǎn)是設(shè)計(jì)一套通信協(xié)議,來(lái)高效地實(shí)現(xiàn)上述功能,同時(shí)易于二次開(kāi)發(fā)和應(yīng)用,提高穩(wěn)定性。

        1 系統(tǒng)概述

        為方便系統(tǒng)描述,本文把運(yùn)行應(yīng)用軟件的PC機(jī)稱為上位機(jī),外置安全模塊稱為下位機(jī),兩者結(jié)合組成一個(gè)包含軟硬件的綜合安全系統(tǒng)。

        綜合安全系統(tǒng)包括上位機(jī)通信協(xié)議棧、下位機(jī)通信協(xié)議棧、下位機(jī)硬件模塊、下位機(jī)伺服程序以及相關(guān)控制裝置,其中,下位機(jī)硬件模塊以微控制芯片為核心。綜合安全系統(tǒng)則具有版權(quán)保護(hù)、透明傳輸、穩(wěn)定運(yùn)行監(jiān)控等功能。

        1.1 版權(quán)保護(hù)功能

        版權(quán)保護(hù)功能包括:下位機(jī)監(jiān)測(cè)上位機(jī)的運(yùn)行次數(shù)及單次運(yùn)行時(shí)間,限定軟件用戶的使用權(quán)限;上位機(jī)監(jiān)測(cè)下位機(jī)是否已與軟件連接,防止軟件運(yùn)行時(shí)未接入配套的下位機(jī)。

        1) 合法授權(quán)情況下上位機(jī)與下位機(jī)的通信:上位機(jī)定時(shí)產(chǎn)生隨機(jī)數(shù)據(jù)包并加密,將密文數(shù)據(jù)包發(fā)送給下位機(jī),下位機(jī)收到后對(duì)其解密,再將解密數(shù)據(jù)包發(fā)送給上位機(jī),上位機(jī)比對(duì)隨機(jī)數(shù)據(jù)包和解密數(shù)據(jù)包,以此來(lái)核準(zhǔn)身份。上位機(jī)啟動(dòng)時(shí),向下位機(jī)發(fā)送認(rèn)證數(shù)據(jù)包,下位機(jī)開(kāi)始記錄上位機(jī)本次運(yùn)行時(shí)間及上位機(jī)運(yùn)行次數(shù)。

        2) 非法授權(quán)情況下上位機(jī)與下位機(jī)的通信:超過(guò)一定時(shí)間,上位機(jī)沒(méi)有收到解密數(shù)據(jù)包或者比對(duì)不一致時(shí),上位機(jī)軟件啟動(dòng)自鎖功能。運(yùn)行次數(shù)超過(guò)限定次數(shù)或本次運(yùn)行時(shí)間達(dá)到單次的運(yùn)行限定時(shí)間時(shí),下位機(jī)發(fā)送控制數(shù)據(jù)包,控制上位機(jī)自鎖功能。

        1.2 數(shù)據(jù)加密功能

        1) 加密傳輸:上位機(jī)與下位機(jī)之間傳輸?shù)臄?shù)據(jù)均采用AES256加密算法加密后進(jìn)行傳輸,實(shí)現(xiàn)透明傳輸?shù)墓δ堋?/p>

        2) 核心數(shù)據(jù)加密:系統(tǒng)軟件中一些核心參數(shù)等數(shù)據(jù),將其加密后存放在下位機(jī)中,當(dāng)上位機(jī)需要時(shí)再進(jìn)行讀取以保證核心數(shù)據(jù)的安全。

        1.3 穩(wěn)定運(yùn)行監(jiān)控功能

        穩(wěn)定運(yùn)行是系統(tǒng)軟件的基本要求,外置穩(wěn)定模塊具有保障軟件的穩(wěn)定運(yùn)行的功能。圖1為其整體框圖。

        圖1 外置穩(wěn)定模塊整體框圖Fig.1 The external stable module

        圖2為控制邏輯程序框圖,圖中,t1,t2,t3,t4,n,m,p均為根據(jù)用戶需求設(shè)置的變量。

        重啟條件I:超過(guò)t1分鐘未收到上位機(jī)交互數(shù)據(jù)包,硬件重啟軟件。

        重啟條件II:檢測(cè)到上位機(jī)在t2分鐘之內(nèi)“軟重啟”n次,硬件重啟上位機(jī)。

        在連續(xù)t2 分鐘內(nèi),當(dāng)連續(xù)n次出現(xiàn)重啟條件I時(shí),不再硬件重啟上位機(jī),關(guān)閉軟件系統(tǒng)功能,開(kāi)始聲光報(bào)警。

        當(dāng)在重啟條件II連續(xù)出現(xiàn)m次時(shí),不再硬件重啟上位機(jī),關(guān)閉上位機(jī)軟件系統(tǒng)功能,開(kāi)始聲光報(bào)警。

        穩(wěn)定工作時(shí),上位機(jī)與下位機(jī)的通信:每間隔t3分鐘,上位機(jī)會(huì)給下位機(jī)硬件模塊發(fā)送交互數(shù)據(jù)告知其正常運(yùn)行。

        非穩(wěn)定工作時(shí),上位機(jī)與下位機(jī)的通信:1) 當(dāng)上位機(jī)發(fā)生故障時(shí),下位機(jī)由于沒(méi)有接收到數(shù)據(jù)會(huì)通過(guò)硬件啟動(dòng)電路重啟上位機(jī),保障系統(tǒng)正常運(yùn)行。2) 在一定時(shí)間內(nèi)重啟次數(shù)過(guò)多,系統(tǒng)會(huì)自動(dòng)聲光報(bào)警提醒工作人員檢查設(shè)備。

        圖2 控制邏輯程序框圖Fig.2 The control logic program

        2 硬件設(shè)計(jì)

        2.1 微控制芯片選型

        由于系統(tǒng)需要具備USB接口、大容量SRAM等特性,因此選用微控制芯片STM32F103。

        2.2 硬件電路構(gòu)成

        硬件電路以STM32F103微控制器為控制核心,采用ORCAD軟件進(jìn)行原理圖設(shè)計(jì)和PCB繪制[4]。電路采用USB與上位機(jī)進(jìn)行通信,通過(guò)繼電器控制重啟服務(wù)器實(shí)現(xiàn)硬件看門(mén)狗功能。

        核心電路板主要由電源模塊、硬件啟動(dòng)電路、USB 接口、RS232 接口、STM32F103VCT6 微控制器系統(tǒng)等組成。電路板直接由PC機(jī)的USB接口供電。

        硬件電路的具體組成如圖3所示。

        圖3 硬件電路組成框圖Fig.3 Hardware circuit

        以下主要描述一下硬件啟動(dòng)電路,它是控制上位機(jī)及服務(wù)器重啟的重要控制電路。硬件啟動(dòng)電路如圖4所示。圖4中,微控制器通過(guò)控制9013三極管基極的電平高低來(lái)控制三極管是否導(dǎo)通[5]。當(dāng)基極收到高電平時(shí),三極管導(dǎo)通,繼電器中的線圈通過(guò)電流,觸點(diǎn)簧片合上,繼電器處于“關(guān)”的狀態(tài)。同理,當(dāng)基極收到低電平時(shí)繼電器斷開(kāi)。通過(guò)這樣的“開(kāi)關(guān)”控制電腦的重啟,保障上位機(jī)系統(tǒng)的穩(wěn)定運(yùn)行。每一個(gè)繼電器都有一個(gè)保護(hù)二極管,防止斷開(kāi)繼電器后線圈的自感電壓燒壞器件。

        圖4 硬件啟動(dòng)電路Fig.4 Hardware start-up circuit

        3 數(shù)據(jù)通道設(shè)計(jì)

        上位機(jī)與下位機(jī)采用USB進(jìn)行通信,需要編寫(xiě)USB設(shè)備驅(qū)動(dòng)程序。由于USB采集設(shè)備的驅(qū)動(dòng)在不同操作系統(tǒng)中會(huì)出現(xiàn)不兼容現(xiàn)象,所以設(shè)計(jì)免驅(qū)動(dòng)的便攜數(shù)據(jù)通道,將STM32內(nèi)置存儲(chǔ)器虛擬成U盤(pán),保證安全模塊的適用性和通用性。虛擬的U盤(pán)作為下位機(jī)與上位機(jī)數(shù)據(jù)交互的公共空間,采用Windows API函數(shù)對(duì)虛擬U盤(pán)進(jìn)行讀寫(xiě)數(shù)據(jù)操作[6],上位機(jī)與下位機(jī)按照采集設(shè)備通信協(xié)議實(shí)現(xiàn)通信過(guò)程。

        本系統(tǒng)采用的控制芯片的內(nèi)置SRAM內(nèi)存為48 kB,前16 kB用于處理器處理程序存儲(chǔ)變量,剩余32 kB作為虛擬U盤(pán)。

        使用Win hex軟件查看U盤(pán)物理地址處數(shù)據(jù),經(jīng)過(guò)多次試驗(yàn)得知:1) 上位機(jī)向虛擬U盤(pán)讀寫(xiě)數(shù)據(jù)字節(jié),單次讀寫(xiě)字節(jié)數(shù)只能是2 kB的整數(shù)倍;2) 無(wú)法向4 kB的起始扇區(qū)中寫(xiě)數(shù)據(jù),只能向剩余28 kB區(qū)域中讀寫(xiě)數(shù)據(jù)。

        根據(jù)功能用途,將28 kB區(qū)域分成5個(gè)區(qū)域,分別為A域、B域、C域、D域和E域。內(nèi)置SRAM區(qū)域劃分情況如圖5所示。

        圖5 區(qū)域劃分示意圖Fig.5 Zoning schematic

        虛擬U盤(pán)中數(shù)據(jù)讀寫(xiě)分區(qū)如表1所示。

        1) A域是上位機(jī)向下位機(jī)發(fā)送數(shù)據(jù)包的存儲(chǔ)區(qū)域,因?yàn)樯衔粰C(jī)向下位機(jī)發(fā)送的數(shù)據(jù)為請(qǐng)求或認(rèn)證數(shù)據(jù),字節(jié)數(shù)較少,所以A域分配4 kB。

        2) B域?yàn)橄挛粰C(jī)向上位機(jī)發(fā)送數(shù)據(jù)包的存儲(chǔ)區(qū)域,發(fā)送加密的核心數(shù)據(jù)較多,所以B域分配了18 kB。

        3) C域?yàn)樯衔粰C(jī)在A域中寫(xiě)完數(shù)據(jù)后,再發(fā)送結(jié)束數(shù)據(jù)包的存儲(chǔ)區(qū)域。

        4) D域?yàn)橄挛粰C(jī)在B域中寫(xiě)完數(shù)據(jù)后,再發(fā)送結(jié)束數(shù)據(jù)包的存儲(chǔ)區(qū)域。

        5) E域?yàn)橄挛粰C(jī)主動(dòng)向上位機(jī)報(bào)告狀態(tài)信息的存儲(chǔ)區(qū)域,C,D,E域中數(shù)據(jù)字節(jié)長(zhǎng)度很小,設(shè)置為單次讀寫(xiě)字節(jié)數(shù)最少的2 kB。

        表1 虛擬U盤(pán)中數(shù)據(jù)讀寫(xiě)分區(qū)

        4 軟件設(shè)計(jì)

        綜合安全系統(tǒng)軟件要實(shí)現(xiàn)的功能包括認(rèn)證、存儲(chǔ)、運(yùn)算、監(jiān)控和繼電控制等。

        4.1 軟件框架設(shè)計(jì)

        綜合安全系統(tǒng)軟件設(shè)計(jì)分為上位機(jī)軟件設(shè)計(jì)和下位機(jī)伺服軟件設(shè)計(jì)。上位機(jī)負(fù)責(zé)調(diào)用Windows API函數(shù)通信及實(shí)現(xiàn)上位機(jī)通信協(xié)議工作,下位機(jī)伺服軟件負(fù)責(zé)虛擬U盤(pán)及實(shí)現(xiàn)下位機(jī)通信協(xié)議的工作。

        4.2 通信協(xié)議設(shè)計(jì)

        4.2.1 通信協(xié)議分層結(jié)構(gòu)設(shè)計(jì)

        通信協(xié)議設(shè)計(jì)過(guò)程參考OSI網(wǎng)絡(luò)模型,通信協(xié)議采用層次結(jié)構(gòu)實(shí)現(xiàn),各層采用統(tǒng)一接口實(shí)現(xiàn)通信[7]。按照功能的不同分為4層:即硬件通信層、加密傳輸層、傳輸控制層和應(yīng)用層。圖6所示為通信協(xié)議分層結(jié)構(gòu)模型。

        圖6 通信協(xié)議分層結(jié)構(gòu)模型圖Fig.6 Communication protocol layered model

        通信協(xié)議各層主要功能如下。

        1) 硬件通信層。主要功能是接收上層協(xié)議傳輸層傳輸下來(lái)的數(shù)據(jù)包,硬件通信層對(duì)數(shù)據(jù)包做判斷(判斷是否分包),將不足2048字節(jié)整數(shù)倍的數(shù)據(jù)包拼接成2048整數(shù)倍的數(shù)據(jù)包,并發(fā)送到指定地址,在虛擬U盤(pán)中實(shí)現(xiàn)讀寫(xiě)數(shù)據(jù)工作。該層的工作包括調(diào)用Windows API底層讀寫(xiě)函數(shù)直接在虛擬U盤(pán)內(nèi)存中讀寫(xiě)數(shù)據(jù),同時(shí)預(yù)留函數(shù)接口,來(lái)接收加密傳輸層傳遞下來(lái)的密文數(shù)據(jù)包。

        2) 加密傳輸層。加密傳輸層采用AES256加密算法,將上位機(jī)和下位機(jī)之間傳輸?shù)臄?shù)據(jù)進(jìn)行加密,保證數(shù)據(jù)的安全性。

        3) 傳輸控制層。傳輸控制層的主要功能是完成數(shù)據(jù)封包/解析、校驗(yàn)差錯(cuò)控制、傳輸控制工作。

        4) 應(yīng)用層。應(yīng)用層的工作是把要傳輸?shù)臄?shù)據(jù)提交到傳輸控制層和提供通用的調(diào)用接口。

        4.2.2 邏輯控制

        下位機(jī)不會(huì)主動(dòng)發(fā)送數(shù)據(jù),上位機(jī)是所有數(shù)據(jù)和命令發(fā)起者。邏輯控制如下:

        1) 上位機(jī)向A域中發(fā)送命令數(shù)據(jù)包,發(fā)送完成后,再向C域中發(fā)送結(jié)束標(biāo)識(shí)數(shù)據(jù)包;

        2) 下位機(jī)定時(shí)輪詢讀取C域,查看是否有發(fā)送結(jié)束標(biāo)識(shí)數(shù)據(jù)包,如果讀取到發(fā)送結(jié)束標(biāo)識(shí)數(shù)據(jù)包,則下位機(jī)讀取A域中命令數(shù)據(jù)包;

        3) 下位機(jī)響應(yīng)上位機(jī)的命令,向B域中發(fā)送響應(yīng)數(shù)據(jù)包,發(fā)送完成后,再向D域發(fā)送結(jié)束標(biāo)識(shí)數(shù)據(jù)包;

        4) 上位機(jī)同下位機(jī)一樣,定時(shí)輪詢讀取B域數(shù)據(jù),查看下位機(jī)是否響應(yīng),如果有響應(yīng)數(shù)據(jù)包,則讀出響應(yīng)數(shù)據(jù)包,進(jìn)行后續(xù)操作。

        4.2.3 數(shù)據(jù)包的格式設(shè)計(jì)

        數(shù)據(jù)包中包含5個(gè)組成部分,即包標(biāo)識(shí)符字段、數(shù)據(jù)字段、擴(kuò)展字段、校驗(yàn)字段和包結(jié)束符字段[8-9]。本文設(shè)計(jì)的通信協(xié)議數(shù)據(jù)包格式如表2所示。

        表2 通信協(xié)議數(shù)據(jù)包格式

        數(shù)據(jù)字段包含5個(gè)組成部分,即功能碼、包序號(hào)、數(shù)據(jù)長(zhǎng)度、真實(shí)數(shù)據(jù)長(zhǎng)度和真實(shí)數(shù)據(jù),其中數(shù)據(jù)長(zhǎng)度包括真實(shí)數(shù)據(jù)和擴(kuò)展字節(jié)數(shù)據(jù)。數(shù)據(jù)字段的格式如表3所示。

        表3 數(shù)據(jù)字段格式

        數(shù)據(jù)包的格式說(shuō)明如下。

        1) 標(biāo)識(shí)符字段。表示本數(shù)據(jù)包屬于該設(shè)備通信協(xié)議,作為一個(gè)數(shù)據(jù)包的包頭,同時(shí)作為是否接收此數(shù)據(jù)包的標(biāo)志,為了防止與正文數(shù)據(jù)混淆,在本系統(tǒng)中約定為AABBCC789FH,占5個(gè)字節(jié),這樣就能保證與正文數(shù)據(jù)相同的概率降至1/(240)。

        2) 數(shù)據(jù)字段。

        ① 功能碼。數(shù)據(jù)包所執(zhí)行功能的標(biāo)志碼, 如“0000H”代表上位機(jī)應(yīng)用程序要求下位機(jī)開(kāi)始計(jì)算本次軟件運(yùn)行時(shí)間和軟件運(yùn)行次數(shù)的功能碼。占2個(gè)字節(jié),可供使用的功能碼有65 536個(gè),可以根據(jù)實(shí)際應(yīng)用需求進(jìn)行擴(kuò)充。

        ② 包序號(hào)。因?yàn)樘摂MU盤(pán)空間比較小,如果發(fā)送的數(shù)據(jù)包超過(guò)了U盤(pán)的區(qū)域內(nèi)存大小,就需要分成幾個(gè)數(shù)據(jù)包發(fā)送。占4個(gè)字節(jié),前2個(gè)字節(jié)表示發(fā)送數(shù)據(jù)的分包數(shù),后2個(gè)字節(jié)表示當(dāng)前發(fā)送的包序號(hào)。

        ③ 數(shù)據(jù)長(zhǎng)度。表示本次發(fā)送的整個(gè)數(shù)據(jù)包的字節(jié)長(zhǎng)度,包括包標(biāo)識(shí)符和包結(jié)束符,便于接收方校驗(yàn)。占2個(gè)字節(jié)。

        ④ 真實(shí)數(shù)據(jù)長(zhǎng)度。表示后面的真實(shí)數(shù)據(jù)所占字節(jié)長(zhǎng)度,與數(shù)據(jù)長(zhǎng)度相比,不包含擴(kuò)展字節(jié)、包標(biāo)識(shí)符和包結(jié)尾符。占2個(gè)字節(jié)。

        ⑤ 真實(shí)數(shù)據(jù)。表示一個(gè)數(shù)據(jù)包所要發(fā)送的數(shù)據(jù)內(nèi)容。

        3) 擴(kuò)展字段。保留字段,方便以后可擴(kuò)展功能,同時(shí)保證數(shù)據(jù)包中真實(shí)數(shù)據(jù)前后共占512字節(jié),由于對(duì)U盤(pán)讀寫(xiě)操作是以扇區(qū)為單位,一個(gè)扇區(qū)為512字節(jié),方便對(duì)真實(shí)數(shù)據(jù)的讀寫(xiě)操作。

        4) 校驗(yàn)字段。這部分內(nèi)容是對(duì)前面內(nèi)容的校驗(yàn)碼,接收方通過(guò)判斷這部分的內(nèi)容來(lái)確定傳送數(shù)據(jù)是否正確,如果不正確,則發(fā)送請(qǐng)求重發(fā)數(shù)據(jù)包,請(qǐng)求發(fā)送方重傳。在本系統(tǒng)中,數(shù)據(jù)包校驗(yàn)字段使用的是16位循環(huán)冗余校驗(yàn)CRC,校驗(yàn)的范圍為校驗(yàn)字段之前的所有字節(jié)[10],占2個(gè)字節(jié)。

        5) 包結(jié)束符字段。表示此數(shù)據(jù)包的結(jié)束,約定為16H,占1個(gè)字節(jié)。

        4.2.4 數(shù)據(jù)包的封包與解析

        數(shù)據(jù)發(fā)送方在發(fā)送數(shù)據(jù)前,需要按照通信協(xié)議的規(guī)則,將要發(fā)送的數(shù)據(jù)打包好才能發(fā)送,接收方接收到數(shù)據(jù)包后,需要對(duì)數(shù)據(jù)包進(jìn)行解析,抽取出數(shù)據(jù)包中的真實(shí)數(shù)據(jù)。

        4.2.5 差錯(cuò)控制

        校驗(yàn)字段放在包結(jié)束符字段之前、擴(kuò)展字段之后。上位機(jī)與下位機(jī)數(shù)據(jù)交互過(guò)程中檢測(cè)糾錯(cuò)采用循環(huán)冗余校驗(yàn)方法。

        數(shù)據(jù)接收方接收到發(fā)送方的數(shù)據(jù)后進(jìn)行差錯(cuò)校驗(yàn),若不正確,則發(fā)送請(qǐng)求重發(fā)數(shù)據(jù)包,請(qǐng)求數(shù)據(jù)發(fā)送方重傳數(shù)據(jù)包。

        4.3 下位機(jī)伺服程序設(shè)計(jì)

        系統(tǒng)采用USB接口通信,圖7為USB通信程序框圖。下位機(jī)伺服程序包括將SRAM虛擬成U盤(pán)、啟動(dòng)控制程序、實(shí)現(xiàn)下位機(jī)通信協(xié)議以及運(yùn)算存儲(chǔ)等功能。

        程序通過(guò)USB中斷完成虛擬U盤(pán)過(guò)程。 U盤(pán)虛擬完成后繼續(xù)等待定時(shí)器中斷,當(dāng)中斷發(fā)生后,下位機(jī)伺服程序讀取U盤(pán)特定地址處是否有來(lái)自上位機(jī)的數(shù)據(jù)包,若沒(méi)有則繼續(xù)等待中斷,若有則響應(yīng)上位機(jī)的命令。

        圖7 USB通信程序框圖Fig.7 Flow chart of USB communication program

        5 系統(tǒng)應(yīng)用

        本文以電纜載流量分析軟件為應(yīng)用實(shí)例,介紹安全模塊的使用方法。電纜載流量分析中核心數(shù)據(jù)如光纖溫度、銅芯溫度及其之間的映射關(guān)系,這些核心數(shù)據(jù)加密后存放在下位機(jī)硬件模塊中,當(dāng)載流量分析軟件需要核心數(shù)據(jù)時(shí)從下位機(jī)讀取。

        當(dāng)載流量分析軟件開(kāi)始運(yùn)行時(shí),調(diào)用安全模塊上位機(jī)的接口,向下位機(jī)發(fā)送認(rèn)證數(shù)據(jù)包、隨機(jī)密文數(shù)據(jù)包及交互數(shù)據(jù)包,下位機(jī)能定時(shí)收到交互數(shù)據(jù)包并且上位機(jī)能定時(shí)收到下位機(jī)解密數(shù)據(jù)包,即實(shí)現(xiàn)了下位機(jī)對(duì)載流量分析軟件的版權(quán)認(rèn)證保護(hù)和穩(wěn)定運(yùn)行模塊功能。圖8為數(shù)據(jù)傳輸示意圖。

        當(dāng)載流量分析軟件在需要調(diào)用核心數(shù)據(jù)時(shí),向下位機(jī)發(fā)送請(qǐng)求核心數(shù)據(jù)包,下位機(jī)收到請(qǐng)求數(shù)據(jù)包后調(diào)出加密的核心數(shù)據(jù)并發(fā)送給上位機(jī),實(shí)現(xiàn)核心數(shù)據(jù)加密功能。

        載流量分析軟件系統(tǒng)中,數(shù)據(jù)加密過(guò)程、數(shù)據(jù)存儲(chǔ)轉(zhuǎn)移過(guò)程比較耗時(shí),實(shí)際測(cè)得速率保持在1.1 MB/s,即1 min可以采集66 MB的數(shù)據(jù),載流量分析軟件每1 min采集1次數(shù)據(jù),每3 min分析1次數(shù)據(jù),上位機(jī)與下位機(jī)之間通信與數(shù)據(jù)交互的數(shù)據(jù)量較少,實(shí)際速率能滿足系統(tǒng)軟件實(shí)時(shí)性要求。

        圖8 數(shù)據(jù)傳輸示意圖Fig.8 Data transmission schematic

        6 結(jié)論

        綜合安全模塊采用USB與PC主機(jī)連接,將STM32微控制器內(nèi)置SRAM虛擬成U盤(pán),設(shè)計(jì)了免驅(qū)動(dòng)的便攜式數(shù)據(jù)通道,保證了安全模塊的實(shí)用性和通用性,然后設(shè)計(jì)了上位機(jī)與下位機(jī)通信規(guī)約,實(shí)現(xiàn)了安全可靠的數(shù)據(jù)通信。本文以載流量分析軟件為應(yīng)用實(shí)例,實(shí)現(xiàn)了對(duì)電纜載流量分析軟件的版權(quán)保護(hù)、核心數(shù)據(jù)加密及穩(wěn)定運(yùn)行監(jiān)控功能,取得了很好的使用效果。

        [1] 魏光村,孫忠林,徐燕妮.軟件加密技術(shù)研究[J].福建電腦,2006(9):44-45.

        [2] 任克強(qiáng),劉暉.單片機(jī)系統(tǒng)硬件及軟件加密技術(shù)[J].電子設(shè)計(jì)應(yīng)用,2003(7):61-63.

        [3] 王海春,李均,鄧珊.基于混沌加密的RFID認(rèn)證協(xié)議設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng)用,2015(11):206-207,209.

        [4] 信侃.基于Cadence軟件的高速AD電路設(shè)計(jì)與仿真[D].哈爾濱:哈爾濱工業(yè)大學(xué),2008.

        [5] 童詩(shī)白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2006.

        [6] 范文慶,周彬彬,安靖.精通Windows API:函數(shù)、接口、編程實(shí)例[M].北京:人民郵電出版社,2009.

        [7] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2008.

        [8] 方旭.基于STM32處理器和PC主機(jī)的USB通信協(xié)議的實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué),2009.

        [9] 劉愛(ài)東,張永強(qiáng),楊健,等.USB設(shè)備互連通信協(xié)議設(shè)計(jì)[J].電光與控制,2011,18(1):69-72.

        [10] 胡方家,周雙娥,曾軍.基于可靠度的循環(huán)冗余校驗(yàn)算法[J].計(jì)算機(jī)應(yīng)用,2015,35(3):629-632.

        DesignandApplicationofaComprehensiveSoftwareSecurityModuleBasedonUSB

        ZHANG Chao-chao, CHEN Yuan-lin, LU Na, AN Bo-wen

        (Information Engineering College,Shanghai Maritime University,Shanghai 201306,China)

        A software security module is designed,which is an external hardware module,and can provide such functions as copyright authentication,kernel data encryption,stable operation monitoring and so on.The external module uses USB to connect with host PC,and a free driver portable data channel is achieved by taking the microcontroller of security module as a virtual USB mass storage device.A communication protocol is designed for use between the security module and PC based on packets layered communication protocol stack,and thus to implement safe and reliable data communication.The usage of the security module is illustrated by taking the software for cable ampacity analysis as an application example.

        data encryption; data communication; USB; copyright protection; communication protocol; ampacity analysis

        TP309

        A

        1671-637X(2017)03-0093-05

        2016-03-31

        2016-04-18

        章超超(1990 —),男,安徽蕪湖人,碩士生,研究方向?yàn)榍度胧綉?yīng)用、光纖通信。

        猜你喜歡
        下位通信協(xié)議U盤(pán)
        采用U盤(pán)文件冗余方案實(shí)現(xiàn)TSP系統(tǒng)的可靠裝載
        發(fā)射機(jī)房監(jiān)控系統(tǒng)之下位機(jī)
        基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計(jì)
        景洪電廠監(jiān)控系統(tǒng)下位機(jī)數(shù)據(jù)傳輸網(wǎng)絡(luò)改造
        基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計(jì)與研究
        圍觀黨“下位”,吐槽帝“登基”
        基于NS-3的PLC多頻通信協(xié)議仿真平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
        CAN總線并發(fā)通信時(shí)下位機(jī)應(yīng)用軟件設(shè)計(jì)
        U盤(pán)“鬧肚子”
        RSSP-I、RSSP-Ⅱ及SAHARA三種安全通信協(xié)議實(shí)現(xiàn)技術(shù)簡(jiǎn)介
        亚洲 中文 欧美 日韩 在线| 久久久9色精品国产一区二区三区| 国产一起色一起爱| 成人欧美一区二区三区白人| 久久精品无码一区二区乱片子| 日韩AV无码一区二区三不卡| 日韩精品国产一区在线| 三区中文字幕在线观看| 蜜桃视频在线看一区二区三区 | 日韩av午夜在线观看| av片在线观看免费| 国产黑色丝袜在线观看视频| 亚洲国产免费公开在线视频| 亚洲一区二区三区av天堂| 日韩精品成人区中文字幕| 97色伦综合在线欧美视频| 日韩好片一区二区在线看| 亚洲精品免费专区| 国产在线h视频| 在线亚洲国产一区二区三区| 亚洲日本中文字幕高清在线| 久久精品免费中文字幕| 天堂国精产品2023年| 人人狠狠综合久久亚洲婷婷| 亚洲av一区二区国产精品 | 久久精品99国产精品日本| 久久精品99久久香蕉国产色戒| 97se亚洲国产综合自在线图片| 午夜视频福利一区二区三区 | 久久久精品国产免费看| 亚洲av无码乱码国产精品| 久久精品人人做人人爽电影蜜月| 亚洲欧美日韩综合在线观看| 亚洲av永久综合网站美女| 久久99热国产精品综合| 少妇装睡让我滑了进去| 国产成人精品免费视频大全| 国产一区二区三免费视频| 人妻熟女一区二区三区app下载| 欧美精品久久久久久久久| 日产精品毛片av一区二区三区|