







摘要:本文設(shè)計(jì)了一個(gè)具有加密功能的智能家居安全控制系統(tǒng),用戶數(shù)據(jù)和信息碼通過(guò)隨機(jī)的6字節(jié)時(shí)間偏移量進(jìn)行加密,采用32或64字節(jié)數(shù)據(jù)包處理并打包傳輸,通過(guò)穩(wěn)定的數(shù)據(jù)編碼格式(格雷碼)進(jìn)行編碼,并且提供可選擇的用戶確認(rèn)機(jī)制。保證了數(shù)據(jù)信息的安全性和穩(wěn)定性。
關(guān)鍵詞:智能家居;數(shù)據(jù)安全;控制系統(tǒng);GSM;CC2500
DOI: 10.3969/j.issn.1005-5517.2012.9.005
基金項(xiàng)目:湖北省教育廳科學(xué)研究項(xiàng)目(B20114409);湖北省優(yōu)秀中青年科技創(chuàng)新團(tuán)隊(duì)計(jì)劃項(xiàng)目(T201223)
引言
計(jì)算機(jī)上位機(jī)獲取用戶的信息碼(賬號(hào))后,自動(dòng)和加密盾中的密碼信息進(jìn)行核對(duì),如果核對(duì)正確,便可啟動(dòng)上位機(jī)對(duì)用戶信息進(jìn)行訪問(wèn)。在綁定手機(jī)業(yè)務(wù)的情況下,下位機(jī)控制對(duì)象在收到加密盾中的核對(duì)信息后,自動(dòng)向綁定的手機(jī)用戶發(fā)送隨機(jī)確認(rèn)碼,用戶收到確認(rèn)碼后把確認(rèn)碼輸入計(jì)算機(jī)中,自動(dòng)與加密盾中的確認(rèn)碼核對(duì)(加密盾中的確認(rèn)碼為控制終端產(chǎn)生的隨機(jī)數(shù),通過(guò)無(wú)線通信設(shè)備傳送),并且用戶數(shù)據(jù)和信息碼通過(guò)隨機(jī)的6字節(jié)時(shí)間偏移量設(shè)定的函數(shù)進(jìn)行加密,采用32或64字節(jié)數(shù)據(jù)包處理并打包傳輸,通過(guò)穩(wěn)定的數(shù)據(jù)編碼格式(格雷碼)進(jìn)行編碼,并且提供可選擇的用戶確認(rèn)機(jī)制。這樣保證了在不同時(shí)刻的信息數(shù)據(jù)具有較高的隨機(jī)性,保證了數(shù)據(jù)信息的安全性和穩(wěn)定性。
圖1 系統(tǒng)框圖
圖2 加密盾電路
系統(tǒng)結(jié)構(gòu)
本系統(tǒng)主要由計(jì)算機(jī)上位機(jī),加密盾連接設(shè)備,被控制對(duì)象和用戶GSM通信設(shè)備組成,如圖1所示。
系統(tǒng)上位機(jī)采用了C#編寫,C#是為NET Framework量身訂做的程序語(yǔ)言,作為第一個(gè)組件導(dǎo)向(Component-oriented)的程序語(yǔ)言,采用面向?qū)ο蟮木幊陶Z(yǔ)言,具有良好的便利性和易用性。通過(guò)基于UART的底層通信模式,自定義上層的通信數(shù)據(jù)包,對(duì)數(shù)據(jù)包進(jìn)行自定義的編碼和解碼操作,通過(guò)RS232接口進(jìn)行通信。從而達(dá)到獲取傳感器數(shù)據(jù)和控制家庭設(shè)備的功能[3]。
加密盾設(shè)備作為數(shù)據(jù)傳輸?shù)闹虚g設(shè)備,主要目的是對(duì)智能家居系統(tǒng)中的各種傳感器數(shù)據(jù)密碼的解碼以及與計(jì)算機(jī)上位機(jī)通信的編碼和解碼操作,類似于網(wǎng)絡(luò)通信中的鏈接設(shè)備,如:無(wú)線網(wǎng)卡,其目的是把通信和連入網(wǎng)絡(luò)中的數(shù)據(jù)進(jìn)行編碼和加密。實(shí)現(xiàn)數(shù)據(jù)的安全傳輸和加密。系統(tǒng)采用的是FT232的USB轉(zhuǎn)UART模塊來(lái)保證數(shù)據(jù)通信的穩(wěn)定性,編碼解碼部分采用的是宏晶科技的STC12LE5A60S2單片機(jī),通信部分采用了TI公司的CC2500無(wú)線RF射頻收發(fā)模塊[8]。
控制終端主要負(fù)責(zé)智能家居系統(tǒng)整個(gè)傳感網(wǎng)絡(luò)的數(shù)據(jù)采集以及對(duì)控制設(shè)備的智能化操作,并且控制顯示設(shè)備和輸入設(shè)備與用戶進(jìn)行簡(jiǎn)單的實(shí)際控制的人機(jī)交互,同時(shí)采用GSM網(wǎng)絡(luò)與用戶手機(jī)進(jìn)行遠(yuǎn)程人機(jī)交互。其功能包括對(duì)室內(nèi)溫度、濕度、光線強(qiáng)度的采樣以及對(duì)節(jié)能LED等的自動(dòng)調(diào)節(jié)等。控制終端作為智能家居系統(tǒng)的傳感網(wǎng)絡(luò)部分,需要處理更多數(shù)據(jù),系統(tǒng)采用了Atmel公司的高端AVR單片機(jī)Atmega128作為控制中心,用于傳感器的采樣和系統(tǒng)控制,并負(fù)責(zé)GSM的遠(yuǎn)程人機(jī)交互和CC2500的射頻通信,而本地的人機(jī)交互系統(tǒng)采用 STC12C5A60S2來(lái)控制OCM240128液晶顯示,并通過(guò)XPT2046觸摸屏控制器控制觸摸屏來(lái)實(shí)現(xiàn)人機(jī)交互的輸入[4~6];ATmega128和STC12C5A60S2之間通過(guò)RS485通信協(xié)議,以保證數(shù)據(jù)通信的穩(wěn)定性和安全性。
用戶GSM通信設(shè)備在設(shè)定了用戶驗(yàn)證的模式下,用于對(duì)獲取數(shù)據(jù)進(jìn)行確認(rèn)驗(yàn)證,使得數(shù)據(jù)的安全性得到可靠保證,同時(shí)可以實(shí)現(xiàn)遠(yuǎn)程的數(shù)據(jù)監(jiān)測(cè)和控制功能從而實(shí)現(xiàn)遠(yuǎn)程人機(jī)交互。具體的系統(tǒng)工作過(guò)程如下:首先在系統(tǒng)上電初始化后,上位機(jī)將要求用戶插入加密盾設(shè)備,并輸入對(duì)應(yīng)的賬戶和密碼,控制終端將通過(guò)賬號(hào)和密碼訪問(wèn)加密盾設(shè)備,以獲取是否設(shè)置了用戶驗(yàn)證模式,如果沒(méi)有驗(yàn)證模式,將直接對(duì)賬號(hào)和密碼進(jìn)行匹配,如果設(shè)定了用戶驗(yàn)證模式,加密盾將通知控制終端向用戶GSM通信設(shè)備發(fā)送驗(yàn)證碼進(jìn)行驗(yàn)證,同時(shí)對(duì)賬號(hào)和密碼進(jìn)行匹配。匹配成功后進(jìn)入控制模式對(duì)智能家居設(shè)備進(jìn)行控制。在控制中心通信的數(shù)據(jù)中通過(guò)編碼和時(shí)間加密算法進(jìn)行加密。其中也包括了隨機(jī)的驗(yàn)證信息,一旦驗(yàn)證信息錯(cuò)誤,通信將會(huì)立即中斷,以保障用戶隱私。
圖3 液晶及觸摸屏電路
圖4 SIM900A GSM電路
圖5 控制臺(tái)部分電路
硬件設(shè)計(jì)
本系統(tǒng)硬件部分以Atmega128單片機(jī)作為控制終端的核心,通過(guò)4線電阻式觸摸屏和OCM240128作為近距離人機(jī)交互,同時(shí)通過(guò)GSM通信和電腦上位機(jī)進(jìn)行遠(yuǎn)程人機(jī)交互。通過(guò)CC2500射頻通信模塊與加密盾設(shè)備實(shí)現(xiàn)數(shù)據(jù)加密和個(gè)人隱私安全保護(hù),采用AM2303等傳感器采樣家居中的環(huán)境,以實(shí)現(xiàn)全自動(dòng)化的智能家居系統(tǒng),并可隨時(shí)人為操控。因此系統(tǒng)硬件部分電路主要由以下四個(gè)部分構(gòu)成。
(1)加密盾電路
加密盾電路部分的主要功能是完成上位機(jī)到控制臺(tái)之間的數(shù)據(jù)通信溝通橋梁和通信數(shù)據(jù)轉(zhuǎn)換與加密功能,其電路圖如圖2所示。系統(tǒng)通過(guò)UART協(xié)議與上位機(jī)進(jìn)行通信,考慮到目前最常用的為USB接口,采用了FT232的USB轉(zhuǎn)UART模塊實(shí)現(xiàn)加密盾部分與上位機(jī)的計(jì)算機(jī)進(jìn)行通信。同時(shí)加密盾部分與控制終端的通信采用了CC2500無(wú)線射頻通信模塊,并通過(guò)SPI總線與STC12LE5A60S2單片機(jī)相連。
(2)液晶及觸摸屏電路
液晶電路部分的主要功能是實(shí)現(xiàn)智能家居系統(tǒng)的近距離人機(jī)交互,液晶及觸摸屏電路如圖3所示。顯示部分采用了OCM240128,由于電路相對(duì)耗能較大,采用了PNP三極管對(duì)液晶的背光進(jìn)行控制,在沒(méi)有用戶使用的情況下可以自動(dòng)關(guān)閉顯示達(dá)到節(jié)能的目的。觸摸屏控制器XPT2046通過(guò)SPI與單片機(jī)相連實(shí)現(xiàn)觸摸功能。
(3)SIM900A GSM模塊電路
SIM900A GSM模塊的主要功能是用于用戶驗(yàn)證和實(shí)現(xiàn)遠(yuǎn)程人機(jī)交互,電路如圖4所示。系統(tǒng)采用了電源管理芯片MIC29302作為SIM900A的供電模塊、PESD5V0L4UW作為GSM模塊的ESD保護(hù)電路確保GSM模塊可靠工作。
(4)控制臺(tái)電路
如圖5控制臺(tái)電路所示。控制臺(tái)電路主要負(fù)責(zé)傳感器數(shù)據(jù)的采集,家電設(shè)備的控制操作,以及實(shí)現(xiàn)與加密盾設(shè)備、液晶與觸摸屏部分和用戶GSM設(shè)備部分的通信功能。
圖6 數(shù)據(jù)編碼與加密部分程序流程圖
圖7 CC2500無(wú)線通信部分程序流程圖
圖8 SIM900A發(fā)送短信流程圖
軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)主要包括數(shù)據(jù)編碼與加密、無(wú)線通信和AT指令短信通信三大部分。
(1)數(shù)據(jù)的編碼與加密
整個(gè)系統(tǒng)的編碼和加密部分程序流程如圖6所示。
由于格雷碼具有循環(huán)、單步特性消除了隨機(jī)取數(shù)時(shí)出現(xiàn)重大誤差的可能,反射、自補(bǔ)特性使得求反非常方便,屬于可靠性編碼,是一種錯(cuò)誤最小化的編碼方式;此外,系統(tǒng)采用了便宜和相對(duì)簡(jiǎn)單的微控制器,因此,運(yùn)算相對(duì)簡(jiǎn)單但是錯(cuò)誤率小的格雷碼編碼成為本系統(tǒng)編碼的首選[5]。
加密部分系統(tǒng)通過(guò)設(shè)定了一個(gè)基于6字節(jié)隨機(jī)時(shí)間偏移量的邏輯函數(shù)來(lái)實(shí)現(xiàn),通過(guò)底層的UART協(xié)議自定義上層的數(shù)據(jù)包,數(shù)據(jù)包為單字節(jié),32字節(jié)或64字節(jié)幾種形式,基本的傳輸模式有1字節(jié)、32字節(jié)、2*32字節(jié)、1+32字節(jié)、1+2*32字節(jié)、1+32+2*32字節(jié)等幾種。單字節(jié)的數(shù)據(jù)包主要用于簡(jiǎn)單的握手協(xié)議,在多字節(jié)的數(shù)據(jù)包中,我們對(duì)其進(jìn)行編碼和加密,分為起始碼,數(shù)據(jù)包長(zhǎng)度,應(yīng)答信號(hào),數(shù)據(jù)位置定義,隨機(jī)時(shí)間偏移值,對(duì)應(yīng)的數(shù)據(jù)(包括賬號(hào),密碼以及監(jiān)控系統(tǒng)中的溫度、濕度,光線強(qiáng)度等各種傳感數(shù)值以及家電的控制狀況),接收數(shù)據(jù)判斷碼和截止碼等部分構(gòu)成,且對(duì)應(yīng)數(shù)據(jù)所在的數(shù)據(jù)包中的位置通過(guò)數(shù)據(jù)位置定義變量進(jìn)行定義,數(shù)據(jù)包的空字節(jié)可以填入隨機(jī)數(shù),且整體數(shù)據(jù)全部加上隨機(jī)時(shí)間的偏移值(通過(guò)加減乘除等數(shù)學(xué)運(yùn)算進(jìn)行數(shù)據(jù)的偏移),并最后進(jìn)行數(shù)據(jù)打包,加上對(duì)應(yīng)數(shù)據(jù)校驗(yàn)碼之后進(jìn)行傳輸,最后通過(guò)監(jiān)控軟件來(lái)判斷數(shù)據(jù)的加密效果。
(2)CC2500無(wú)線射頻通信
CC2500無(wú)線通信程序流程圖如圖7所示。
(3)GSM的AT指令短信通信
SIM900A的GSM模塊的AT指令基本與標(biāo)準(zhǔn)AT指令相同,設(shè)計(jì)采用PDU的數(shù)據(jù)格式進(jìn)行發(fā)送和接收數(shù)據(jù)[9],AT指令短信通信發(fā)送部分程序流程圖如圖8所示。
總結(jié)
本文介紹了一種基于時(shí)間序列加密的智能家居系統(tǒng)。對(duì)系統(tǒng)的硬件、軟件及加密算法進(jìn)行了詳細(xì)介紹,系統(tǒng)的創(chuàng)新點(diǎn)在于采用了基于隨機(jī)時(shí)間偏移量的邏輯加密算法來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的加密,并采用了穩(wěn)定的編碼方式對(duì)數(shù)據(jù)進(jìn)行編碼傳輸,保證了數(shù)據(jù)具有一定的不可預(yù)測(cè)性,具有較強(qiáng)的加密性。且其實(shí)現(xiàn)方式簡(jiǎn)單,不需要復(fù)雜的控制系統(tǒng),通過(guò)簡(jiǎn)單的微處理器即可實(shí)現(xiàn)。并設(shè)定了可以選擇的用戶驗(yàn)證模式,保障用戶隱私,還具有實(shí)現(xiàn)遠(yuǎn)程人機(jī)交互的功能。整個(gè)系統(tǒng)不僅可以適用于智能家居系統(tǒng)中,還可以適用于各種物聯(lián)網(wǎng)相關(guān)系統(tǒng)中,具有較高的使用價(jià)值和參考價(jià)值。