《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 大型儀器管理系統(tǒng)數(shù)據(jù)安全設(shè)計(jì)
大型儀器管理系統(tǒng)數(shù)據(jù)安全設(shè)計(jì)
2015年微型機(jī)與應(yīng)用第1期
張鵬遠(yuǎn),,趙曉軍,王 磊,,霍曉東
(河北大學(xué) 電子信息工程學(xué)院,,河北 保定 071002)
摘要: 為了解決管理系統(tǒng)中數(shù)據(jù)的安全傳輸問(wèn)題和系統(tǒng)故障時(shí)自動(dòng)應(yīng)對(duì)問(wèn)題,,提出了一種基于CC2430單片機(jī)和WiFi的電氣設(shè)備監(jiān)控系統(tǒng),。描述了系統(tǒng)的總體設(shè)計(jì),,針對(duì)系統(tǒng)中數(shù)據(jù)安全的問(wèn)題,,主要闡述了系統(tǒng)中保障數(shù)據(jù)安全可靠性的設(shè)計(jì),,為實(shí)現(xiàn)數(shù)據(jù)的安全傳輸設(shè)計(jì)了適合本系統(tǒng)的通信協(xié)議并對(duì)數(shù)據(jù)進(jìn)行了加密,,對(duì)突發(fā)情況下的數(shù)據(jù)保護(hù)措施,分別論述了節(jié)點(diǎn)與服務(wù)器發(fā)生狀況時(shí)的應(yīng)對(duì)措施,。通過(guò)實(shí)驗(yàn)表明,,系統(tǒng)在數(shù)據(jù)傳輸和工作穩(wěn)定性方面有了顯著提升,保障了系統(tǒng)工作的高效性與可靠性,。
Abstract:
Key words :

  摘  要: 為了解決管理系統(tǒng)中數(shù)據(jù)的安全傳輸問(wèn)題和系統(tǒng)故障時(shí)自動(dòng)應(yīng)對(duì)問(wèn)題,,提出了一種基于CC2430單片機(jī)和WiFi的電氣設(shè)備監(jiān)控系統(tǒng)。描述了系統(tǒng)的總體設(shè)計(jì),,針對(duì)系統(tǒng)中數(shù)據(jù)安全的問(wèn)題,,主要闡述了系統(tǒng)中保障數(shù)據(jù)安全可靠性的設(shè)計(jì),為實(shí)現(xiàn)數(shù)據(jù)的安全傳輸設(shè)計(jì)了適合本系統(tǒng)的通信協(xié)議并對(duì)數(shù)據(jù)進(jìn)行了加密,,對(duì)突發(fā)情況下的數(shù)據(jù)保護(hù)措施,,分別論述了節(jié)點(diǎn)與服務(wù)器發(fā)生狀況時(shí)的應(yīng)對(duì)措施。通過(guò)實(shí)驗(yàn)表明,,系統(tǒng)在數(shù)據(jù)傳輸和工作穩(wěn)定性方面有了顯著提升,,保障了系統(tǒng)工作的高效性與可靠性。

  關(guān)鍵詞監(jiān)測(cè),;數(shù)據(jù)安全,;異常處理

0 引言

  隨著我國(guó)經(jīng)濟(jì)實(shí)力的增長(zhǎng)和科學(xué)技術(shù)的進(jìn)步,越來(lái)越多的智能化,、自動(dòng)化設(shè)備走進(jìn)人們的生活,,為人們服務(wù),走進(jìn)企業(yè)工廠,為企業(yè)節(jié)省人力,,提高產(chǎn)能,,創(chuàng)造更大的效益。設(shè)備雖然智能,,但是還是不能完全脫離人的控制,,當(dāng)設(shè)備運(yùn)行出現(xiàn)問(wèn)題時(shí)需要人為的干涉,同時(shí)某些設(shè)備的運(yùn)行信息有助于更高效利用這些設(shè)備,。為此,設(shè)計(jì)了這套基于單片機(jī)采集和WiFi傳輸?shù)碾姎庠O(shè)備無(wú)線監(jiān)控系統(tǒng),,用于對(duì)這些設(shè)備的工作狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè),,記錄設(shè)備的開(kāi)關(guān)機(jī)狀態(tài),可控制繼電器使設(shè)備斷電,,以避免造成不必要的損失,。該系統(tǒng)能否正確幫助操作人員對(duì)設(shè)備進(jìn)行操作和分析,信息傳輸?shù)陌踩c可靠起到了至關(guān)重要的作用,。本文主要介紹了系統(tǒng)設(shè)計(jì)中數(shù)據(jù)安全的問(wèn)題,,將從數(shù)據(jù)傳輸過(guò)程中的安全設(shè)計(jì)和數(shù)據(jù)安全措施兩方面進(jìn)行闡述。

1 系統(tǒng)總體設(shè)計(jì)方案

  本監(jiān)控系統(tǒng)由單片機(jī)監(jiān)控模塊,、WiFi傳輸模塊,、監(jiān)測(cè)網(wǎng)站三部分組成。監(jiān)控系統(tǒng)的整體結(jié)構(gòu)如圖1所示,。

001.jpg

  該系統(tǒng)以CC2430單片機(jī)和WiFi模塊為基礎(chǔ)[1],,以ASP.NET設(shè)計(jì)監(jiān)控網(wǎng)站,SQL Server 2005作為服務(wù)器數(shù)據(jù)庫(kù),,所完成的主要功能是實(shí)現(xiàn)設(shè)備工作狀態(tài)的遠(yuǎn)程監(jiān)測(cè),。單片機(jī)監(jiān)控模塊可以檢測(cè)到設(shè)備的運(yùn)行、關(guān)閉等狀態(tài),,并記錄各狀態(tài)發(fā)生改變的時(shí)刻,。檢測(cè)到的設(shè)備狀態(tài)信息以及相應(yīng)的設(shè)備編號(hào)將通過(guò)WiFi模塊實(shí)時(shí)傳送到服務(wù)器數(shù)據(jù)庫(kù)并在監(jiān)測(cè)網(wǎng)站的網(wǎng)頁(yè)上顯示。當(dāng)服務(wù)器停止工作時(shí),,單片機(jī)將繼續(xù)存儲(chǔ)收集來(lái)的信息于Flash存儲(chǔ)器中,,當(dāng)服務(wù)器恢復(fù)工作時(shí)自動(dòng)向單片機(jī)存儲(chǔ)器調(diào)取數(shù)據(jù)并存儲(chǔ)于數(shù)據(jù)庫(kù)。本文還設(shè)計(jì)了符合系統(tǒng)的通信協(xié)議,,應(yīng)用了數(shù)據(jù)加密技術(shù)保證數(shù)據(jù)的準(zhǔn)確性和安全性,。

2 SQL Server 2005數(shù)據(jù)庫(kù)庫(kù)表

  數(shù)據(jù)庫(kù)的設(shè)計(jì)對(duì)于整個(gè)系統(tǒng)而言起著不可替代的作用,完善的數(shù)據(jù)庫(kù)結(jié)構(gòu)可以讓整個(gè)數(shù)據(jù)存儲(chǔ)脈絡(luò)清晰,,不至于引起不必要的混亂,。本系統(tǒng)的數(shù)據(jù)庫(kù)表分為三個(gè):用戶(hù)信息表,節(jié)點(diǎn)信息存儲(chǔ)表,控制命令表,。

  2.1 用戶(hù)信息表

  用戶(hù)信息表是與用戶(hù)登錄相關(guān)的表,,登錄頁(yè)面與用戶(hù)信息表相關(guān)聯(lián)。當(dāng)用戶(hù)登錄時(shí),,通過(guò)SQL語(yǔ)句,、數(shù)據(jù)庫(kù)搜索引擎在數(shù)據(jù)庫(kù)中搜索與注冊(cè)用戶(hù)信息相符的信息,如果信息相符,,返回相應(yīng)的數(shù)據(jù),,然后再根據(jù)權(quán)限登錄到不同的頁(yè)面;如果是管理員則登錄管理員界面,,可以向各節(jié)點(diǎn)發(fā)送命令,。如果沒(méi)有相應(yīng)的數(shù)據(jù)信息,將不能登錄,。用戶(hù)信息表包括:用戶(hù)名,、用戶(hù)密碼、用戶(hù)權(quán)限和用戶(hù)郵箱,。用戶(hù)信息表如表1所示,。

004.jpg

  2.2 節(jié)點(diǎn)信息存儲(chǔ)表

  節(jié)點(diǎn)信息存儲(chǔ)表是系統(tǒng)中最關(guān)鍵的一張表,它記錄了所有設(shè)備的所有開(kāi)關(guān)機(jī)信息和狀態(tài)信息,,是為管理員有效管理設(shè)備提供重要參考的一張表,。系統(tǒng)各個(gè)節(jié)點(diǎn)一直檢測(cè)設(shè)備的狀態(tài),當(dāng)設(shè)備狀態(tài)發(fā)生改變時(shí),,將發(fā)送信息到服務(wù)器,,網(wǎng)站接收各個(gè)節(jié)點(diǎn)傳送過(guò)來(lái)的信息并根據(jù)不同的數(shù)據(jù)類(lèi)型存儲(chǔ)于表中。節(jié)點(diǎn)信息存儲(chǔ)表字段包括:設(shè)備號(hào),、事件時(shí)間,、設(shè)備狀態(tài)。節(jié)點(diǎn)信息存儲(chǔ)表如表2所示,。

005.jpg

  2.3 控制命令表

  管理員要想控制各個(gè)節(jié)點(diǎn)需要在監(jiān)測(cè)網(wǎng)站上輸入控制命令,,而控制命令不能由網(wǎng)站直接發(fā)送到節(jié)點(diǎn),首先要將控制命令存儲(chǔ)到數(shù)據(jù)庫(kù)再由數(shù)據(jù)發(fā)送應(yīng)用程序至節(jié)點(diǎn),。將控制命令保存到數(shù)據(jù)庫(kù)同時(shí)也是歷史信息的保存,,對(duì)于系統(tǒng)運(yùn)行的分析將提供一定的信息資源參考??刂泼畋碜侄伟ǎ涸O(shè)備號(hào)和控制命令,。控制命令表如表3所示,。

006.jpg

3 數(shù)據(jù)安全問(wèn)題設(shè)計(jì)

  3.1 通信協(xié)議的制定

  在該系統(tǒng)中信息的安全可靠決定了對(duì)設(shè)備的控制和使用效率的分析,,只有在數(shù)據(jù)信息正確的基礎(chǔ)上才能實(shí)現(xiàn)整個(gè)系統(tǒng)的功能,。所以本文將重點(diǎn)介紹系統(tǒng)設(shè)計(jì)中的數(shù)據(jù)安全措施。數(shù)據(jù)安全不僅是數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全,,還要保證節(jié)點(diǎn)傳送來(lái)的數(shù)據(jù)是準(zhǔn)確可靠的[3],,因此本文制定了適合本系統(tǒng)的通信協(xié)議,分為采集數(shù)據(jù)格式和命令消息格式,,下面將分別對(duì)其進(jìn)行闡述,。

  3.1.1 采集數(shù)據(jù)格式

  為了能夠?qū)⒔K端節(jié)點(diǎn)采集到的信息有效準(zhǔn)確地傳送給服務(wù)器,需要定義采集數(shù)據(jù)格式如表4所示,。

007.jpg

  開(kāi)始標(biāo)志:接收方判斷一個(gè)消息開(kāi)始的表示,,為了避免引起混亂,必須不同于其他信息,,在這里設(shè)置為AAFF,。

  設(shè)備號(hào):各節(jié)點(diǎn)設(shè)備的編號(hào),用來(lái)知道是哪個(gè)設(shè)備采集來(lái)的數(shù)據(jù),。

  數(shù)據(jù)長(zhǎng)度:在本設(shè)計(jì)中,,一般情況下要傳送的數(shù)據(jù)信息的長(zhǎng)度是固定的,。

  數(shù)據(jù)類(lèi)型:01表示狀態(tài)改變時(shí)間,;02表示設(shè)備狀態(tài)。

  數(shù)據(jù):采集的設(shè)備狀態(tài)和狀態(tài)發(fā)生時(shí)的時(shí)間,。

  停止位:數(shù)據(jù)包結(jié)束標(biāo)識(shí)符,。

  3.1.2 命令信息格式

  命令信息格式如表5所示

008.jpg

  起始位:設(shè)置為AAEE。

  設(shè)備號(hào):接受節(jié)點(diǎn)的編號(hào),。如果設(shè)備號(hào)為EE,,則表示該命令需要廣播給網(wǎng)絡(luò)中的所有節(jié)點(diǎn);如果設(shè)備號(hào)是E1,,則表示該命令需要廣播至一組的路由節(jié)點(diǎn),;如果設(shè)備號(hào)為E2,則表示該命令需要廣播至二組的所有節(jié)點(diǎn),;如果是E3,,則表示該命令需要廣播至三組的路由節(jié)點(diǎn);如果是某個(gè)節(jié)點(diǎn)的編號(hào),,則該命令只針對(duì)這個(gè)節(jié)點(diǎn),。

  數(shù)據(jù)長(zhǎng)度:命令幀的數(shù)據(jù)長(zhǎng)度也是固定的。

  命令標(biāo)識(shí)符:用來(lái)區(qū)分各種不同的命令,,如表6表示,。

009.jpg

  結(jié)束標(biāo)識(shí)符:AA99

  通信模式采取了實(shí)時(shí)上報(bào)和應(yīng)答相結(jié)合的模式。實(shí)時(shí)上報(bào)模式,,就是每個(gè)節(jié)點(diǎn)的狀態(tài)在發(fā)生改變時(shí)數(shù)據(jù)會(huì)及時(shí)發(fā)送到服務(wù)器數(shù)據(jù)庫(kù),,這樣就保證了監(jiān)測(cè)網(wǎng)站可以準(zhǔn)確地把握每個(gè)節(jié)點(diǎn)的當(dāng)前工作狀態(tài),進(jìn)而可以準(zhǔn)確的進(jìn)行控制。命令-應(yīng)答模式,,是用戶(hù)根據(jù)需要,,對(duì)節(jié)點(diǎn)發(fā)出命令,節(jié)點(diǎn)收到命令后,,根據(jù)命令內(nèi)容作相應(yīng)的處理,。命令-應(yīng)答模式是一個(gè)雙向的數(shù)據(jù)通信系統(tǒng),其具體步驟如下所示:

 ?。?)用戶(hù)發(fā)送命令給目標(biāo)節(jié)點(diǎn),。

  (2)目標(biāo)節(jié)點(diǎn)解讀命令,,執(zhí)行命令,。如果目標(biāo)節(jié)點(diǎn)收到未定義的命令,則認(rèn)為是無(wú)效的數(shù)據(jù)包,,目標(biāo)節(jié)點(diǎn)會(huì)通知用戶(hù)信息無(wú)效,;如果目標(biāo)節(jié)點(diǎn)處理命令信息失敗,則協(xié)調(diào)器發(fā)送失敗的應(yīng)答信息,,用戶(hù)需要重新發(fā)送命令,。

  (3)完成,。

  3.2 節(jié)點(diǎn)及服務(wù)器異常處理

  3.2.1 節(jié)點(diǎn)異常處理

  在網(wǎng)絡(luò)運(yùn)行中,,節(jié)點(diǎn)可能會(huì)由于硬件問(wèn)題或者遭受碰撞攻擊等,導(dǎo)致喪失工作能力,。用戶(hù)可以通過(guò)預(yù)設(shè)的命令,,在網(wǎng)絡(luò)中進(jìn)行廣播,節(jié)點(diǎn)收到信息后進(jìn)行回復(fù),,當(dāng)有節(jié)點(diǎn)沒(méi)有回復(fù)的時(shí)候再進(jìn)行通信,,如果三次都沒(méi)有回復(fù),則認(rèn)為該節(jié)點(diǎn)出現(xiàn)了故障,,需要從網(wǎng)絡(luò)中移除或維修,。

  3.2.2 服務(wù)器異常處理

  理論上,服務(wù)器應(yīng)該是24小時(shí)工作,,但是很難保證不會(huì)有意外情況的發(fā)生,,如斷電、數(shù)據(jù)庫(kù)維護(hù)等都會(huì)使服務(wù)器暫時(shí)停止工作,。由于各節(jié)點(diǎn)采用的是實(shí)時(shí)上報(bào)模式,,所以服務(wù)器停止工作時(shí)各節(jié)點(diǎn)的數(shù)據(jù)將不能發(fā)送到服務(wù)器數(shù)據(jù)庫(kù)。如果節(jié)點(diǎn)單片機(jī)不先將信息進(jìn)行存儲(chǔ)將導(dǎo)致數(shù)據(jù)的丟失,。

  在單片機(jī)檢測(cè)模塊本文設(shè)計(jì)采用了16 MB內(nèi)存的Flash存儲(chǔ)器用于對(duì)采集的信息進(jìn)行存儲(chǔ),,F(xiàn)lash存儲(chǔ)器掉電后不會(huì)自動(dòng)擦除數(shù)據(jù),,所以能保障數(shù)據(jù)在故障時(shí)的安全。當(dāng)節(jié)點(diǎn)采集到數(shù)據(jù)時(shí)將試圖發(fā)送到服務(wù)器數(shù)據(jù)庫(kù),,如果數(shù)據(jù)發(fā)送成功,,則服務(wù)器方面將把信息存儲(chǔ)在網(wǎng)絡(luò)數(shù)據(jù)庫(kù),同時(shí),,單片機(jī)將發(fā)送成功的數(shù)據(jù)保存在Flash存儲(chǔ)器中,;如果數(shù)據(jù)發(fā)送失敗,則在數(shù)據(jù)包加一個(gè)標(biāo)識(shí)位1,,并將該條信息保存至Flash存儲(chǔ)器中,。單片機(jī)定期遍歷Flash存儲(chǔ)器中的數(shù)據(jù),將標(biāo)識(shí)位為1的信息重新發(fā)送,,發(fā)送成功后取消標(biāo)識(shí)位存儲(chǔ)于Flash存儲(chǔ)器中,,發(fā)送失敗則等待下次發(fā)送。

  由于Flash存儲(chǔ)器的內(nèi)存有限,,所以不能把所有的數(shù)據(jù)全部都存儲(chǔ)于Flash存儲(chǔ)器中,,本文設(shè)計(jì)定期擦除Flash存儲(chǔ)器中的已經(jīng)發(fā)送成功的數(shù)據(jù),未發(fā)送成功的數(shù)據(jù)將繼續(xù)保留,,直至發(fā)送成功,。如圖2所示。

002.jpg

  為了確保沒(méi)有數(shù)據(jù)的丟失,,從檢測(cè)網(wǎng)站可以任意調(diào)取各個(gè)節(jié)點(diǎn)任何時(shí)間段的信息,,管理員可以在網(wǎng)站管理界面輸入想要的時(shí)間段數(shù)據(jù)至某一個(gè)或幾個(gè)節(jié)點(diǎn),,節(jié)點(diǎn)接收到命令后從Flash存儲(chǔ)器中調(diào)取相應(yīng)信息發(fā)送至服務(wù)器,。這樣直接從Flash存儲(chǔ)器調(diào)取數(shù)據(jù)將比從數(shù)據(jù)庫(kù)中調(diào)取信息更加準(zhǔn)確可靠。

  3.3 數(shù)據(jù)加密

  本系統(tǒng)中所采用的CC2430硬件支持128 bit的AES加密算法,,它包含一個(gè)AES協(xié)處理器,,通過(guò)AES協(xié)處理器完成數(shù)據(jù)的加密和解密操作,減輕了內(nèi)置CPU的負(fù)擔(dān),。在Z—Stack協(xié)議棧中,,這個(gè)加密算法默認(rèn)是關(guān)閉的,使用時(shí)需要開(kāi)啟這個(gè)功能:首先將f8wConfig配置文件中的DSECURE值設(shè)置為1,,這是一個(gè)總按鈕,;然后將ZGlobal.c中的zgPreConfigKeys值由FALSE改為T(mén)RUE;最后在函數(shù)nwk-global.c中設(shè)置一個(gè)128 bit的密鑰,。啟動(dòng)數(shù)據(jù)加密功能,,發(fā)送數(shù)據(jù)的節(jié)點(diǎn)將明文經(jīng)過(guò)AES-128加密算法加密后,使其變成密文傳送出去,。接收節(jié)點(diǎn)在接收到復(fù)雜的密文后,,使用相同的秘鑰和AES-128解密算法,,將其還原為明文,保證了數(shù)據(jù)在傳輸過(guò)程中的安全,。加密流程如圖3所示,。

010.jpg

4 實(shí)驗(yàn)結(jié)果

  本實(shí)驗(yàn)以河北大學(xué)物理學(xué)院實(shí)驗(yàn)設(shè)備作為實(shí)驗(yàn)對(duì)象,對(duì)不同實(shí)驗(yàn)室的不同設(shè)備進(jìn)行編號(hào),,同時(shí)進(jìn)行監(jiān)測(cè),。實(shí)驗(yàn)表明該系統(tǒng)能夠?qū)Χ鄠€(gè)設(shè)備的運(yùn)行狀態(tài)進(jìn)行監(jiān)測(cè),并且該系統(tǒng)具有良好的穩(wěn)定性,,數(shù)據(jù)信息可以安全可靠地傳輸?shù)椒?wù)器,,同時(shí)進(jìn)行了服務(wù)器停止工作實(shí)驗(yàn),當(dāng)恢復(fù)工作時(shí)可以將關(guān)閉時(shí)間的節(jié)點(diǎn)信息調(diào)出,。

5 結(jié)論

  本文首先介紹了檢測(cè)系統(tǒng)的總體設(shè)計(jì),,之后從通信協(xié)議的制定、節(jié)點(diǎn)和服務(wù)器異常的處理,、傳輸數(shù)據(jù)的加密及存儲(chǔ)過(guò)程的設(shè)計(jì)四方面闡述了系統(tǒng)對(duì)數(shù)據(jù)安全方面的設(shè)計(jì),。通過(guò)實(shí)驗(yàn)檢測(cè),本文的設(shè)計(jì)可以使系統(tǒng)在數(shù)據(jù)安全方面得到很大的改善,,確實(shí)保障了數(shù)據(jù)的全面與可靠,,可以為管理人員提供更有效更可靠的數(shù)據(jù)作為管理依據(jù)。

參考文獻(xiàn)

  [1] 蔡紹濱.無(wú)線傳感器網(wǎng)絡(luò)關(guān)鍵技術(shù)的研究與應(yīng)用[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,,2011.

  [2] 高品均,,何光新.數(shù)據(jù)庫(kù)安全與保密[J].電子計(jì)算機(jī),1996(1):33-36.

  [3] 劉怡.數(shù)據(jù)庫(kù)安全與安全數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)計(jì)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,,2001(1):28-30.

  [4] 劉啟原,,劉怡.數(shù)據(jù)庫(kù)與信息系統(tǒng)的安全(第1版)[M].北京:科學(xué)技術(shù)出版社,2000.

  [5] 張躍廷,,許文武,,王小科.C#數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)完全手冊(cè)[M].北京:人民郵電出版社,2006.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。