国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種無(wú)線組網(wǎng)智能家居系統(tǒng)的安全通信方法

2022-08-06 07:08王海珍廉佐政谷文成李夢(mèng)歌
實(shí)驗(yàn)室研究與探索 2022年4期
關(guān)鍵詞:路由器密鑰智能家居

王海珍, 廉佐政, 谷文成, 李夢(mèng)歌

(齊齊哈爾大學(xué)a.計(jì)算機(jī)與控制工程學(xué)院,b.網(wǎng)絡(luò)信息中心,黑龍江 齊齊哈爾 161006)

0 引 言

基于無(wú)線組網(wǎng)方案的智能家居系統(tǒng),安裝、擴(kuò)展方便,使人們生活更加舒適和智能。大容量、低功耗、低成本是智能家居重要需求[1],Zigbee 技術(shù)最多可組成65 000個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)[2],網(wǎng)絡(luò)中的節(jié)點(diǎn)使用2 節(jié)干電池可支持一個(gè)節(jié)點(diǎn)工作6 ~24 個(gè)月,Zigbee 技術(shù)免協(xié)議專利費(fèi)、芯片價(jià)格低[3],能夠較好滿足無(wú)線智能家居的應(yīng)用場(chǎng)景[4]。消息隊(duì)列遙測(cè)傳輸協(xié)議(Message Queuing Telemetry Transport,MQTT)作為一種低開(kāi)銷[5]、低帶寬的即時(shí)通信協(xié)議[6],可為遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的消息服務(wù)[7],為實(shí)現(xiàn)智能家居設(shè)備的遠(yuǎn)程控制提供了方便[8]。

伴隨通信技術(shù)引入系統(tǒng),智能家居也遭到大量網(wǎng)絡(luò)威脅[9],用戶信息在傳輸過(guò)程中容易被竊取、篡改[10],甚至被攻擊?,F(xiàn)迫切需要解決數(shù)據(jù)在傳輸過(guò)程中的安全問(wèn)題[11]。文獻(xiàn)[12]中提出物聯(lián)網(wǎng)智能家居安全設(shè)計(jì)的必要性,分析了設(shè)計(jì)過(guò)程中存在的問(wèn)題,如安全標(biāo)準(zhǔn)不統(tǒng)一、沒(méi)有專門的安全預(yù)警機(jī)制等。文獻(xiàn)[13]中依據(jù)智能家居系統(tǒng)的安全需求,采用SM4 對(duì)稱密碼算法,對(duì)傳輸?shù)臄?shù)據(jù)與接入認(rèn)證信息進(jìn)行加密,保證組網(wǎng)內(nèi)的信息安全傳輸,但未實(shí)現(xiàn)移動(dòng)端控制。文獻(xiàn)[14]中對(duì)家居控制用戶進(jìn)行身份認(rèn)證,并采用標(biāo)準(zhǔn)的AES算法對(duì)控制指令進(jìn)行加密,提高了智能家居系統(tǒng)的安全,但系統(tǒng)的穩(wěn)定性有待提升。綜上所述,現(xiàn)階段智能家居行業(yè)標(biāo)準(zhǔn)還不統(tǒng)一,系統(tǒng)資源有限,對(duì)復(fù)雜運(yùn)算的處理能力不足,研究一種無(wú)線組網(wǎng)智能家居系統(tǒng)的安全方案,尤其重要。本文提出一種新的智能家居系統(tǒng)的無(wú)線組網(wǎng)方案,并研究了系統(tǒng)的安全通信方法。

1 系統(tǒng)安全通信方法

1.1 系統(tǒng)組網(wǎng)方案

系統(tǒng)組網(wǎng)方案如圖1 所示,包括內(nèi)網(wǎng)和外網(wǎng),內(nèi)網(wǎng)便于用戶在家控制家居設(shè)備,外網(wǎng)用于實(shí)現(xiàn)遠(yuǎn)程控制。

圖1 系統(tǒng)組網(wǎng)方案

內(nèi)網(wǎng)包括2 部分,一部分實(shí)現(xiàn)家居信息采集、傳輸,該部分?jǐn)?shù)據(jù)量小、傳輸距離短、節(jié)點(diǎn)多,采用ZigBee協(xié)議通信方式;另一部分通過(guò)WiFi通信。外網(wǎng)采用安全的內(nèi)網(wǎng)穿透方案ZeroTier[15],并使用MQTT 協(xié)議進(jìn)行遠(yuǎn)程控制。路由器作為MQTT 服務(wù)器,智能手機(jī)和控制器作為MQTT客戶端,內(nèi)網(wǎng)1 的控制器作為協(xié)調(diào)器,它和ZigBee終端節(jié)點(diǎn)都稱為ZigBee 節(jié)點(diǎn),它們組成ZigBee網(wǎng)絡(luò)。ZigBee 終端節(jié)點(diǎn)數(shù)量可以依據(jù)采集信息情況確定,通過(guò)傳感器采集室內(nèi)的溫度、光照等信息,并通過(guò)ZigBee 協(xié)議發(fā)送給控制器,控制器通過(guò)WiFi發(fā)送給MQTT服務(wù)器。智能手機(jī)是控制端,可以通過(guò)APP 發(fā)送控制信息給MQTT 服務(wù)器,MQTT 服務(wù)器再發(fā)送給控制器,控制器依據(jù)接收的控制信息,控制家居設(shè)備,如開(kāi)啟或關(guān)閉窗簾、開(kāi)/關(guān)電燈等。由圖1可知,系統(tǒng)的通信主要包括MQTT 客戶端和服務(wù)器之間的通信,ZigBee網(wǎng)絡(luò)的通信。

1.2 MQTT客戶端和服務(wù)器之間的安全通信方法

本節(jié)的安全通信方法如下:MQTT 客戶端通過(guò)用戶名和密碼登陸服務(wù)器,MQTT 服務(wù)器啟用SSL 安全連接,處于外網(wǎng)的智能手機(jī)2 使用內(nèi)網(wǎng)穿透方案ZeroTier與服務(wù)器組建虛擬局域網(wǎng),實(shí)現(xiàn)加密的P2Pd安全通信。

(1)方案設(shè)計(jì)。設(shè)計(jì)MQTT客戶端和服務(wù)器的安全通信方案,如圖2 所示。

圖2 MQTT客戶端與服務(wù)器的安全通信方案

(2)平臺(tái)構(gòu)建。路由器上刷OpenWrt 系統(tǒng),安裝MQTT服務(wù)器mosquitto 軟件,設(shè)置客戶端用戶名、密碼,配置SSL,實(shí)現(xiàn)MQTT 客戶端和服務(wù)器的安全通信,搭建ZeroTier 網(wǎng)絡(luò),安裝ZeroTier 客戶端軟件,實(shí)現(xiàn)外網(wǎng)智能手機(jī)安全訪問(wèn)內(nèi)網(wǎng)1 的控制器。主要步驟。

步驟1路由器刷OpenWrt 系統(tǒng)(以wnr2000v4型號(hào)的路由器為例)。

刷入與路由器型號(hào)對(duì)應(yīng)的固件;

在PC 機(jī)上下載路由器型號(hào)對(duì)應(yīng)的Uboot 和Openwrt(15.05 版本);

PC機(jī)上要搭建TFTP 服務(wù)器,將Uboot和Openwrt下載到路由器;

路由器分別刷入U(xiǎn)boot、OpenWrt系統(tǒng)。

步驟2服務(wù)器mosquito軟件安裝及配置。將路由器連到Internet,在PC 機(jī)的命令行窗口輸入telnet 命令,telnet 到路由器,然后輸入命令:opkg install mosquito,安裝Mosquitto服務(wù)器;

配置MQTT 客戶端登陸的用戶名和密碼,修改mosquitto.conf配置文件內(nèi)容,不允許匿名用戶登錄,使用密碼文件password_file、訪問(wèn)權(quán)限列表文件acl_file。

allow_anonymous false

password_file /etc/mosquito/pwfile

acl_file /etc/mosquittto/aclfile

添加用戶名和密碼

為MQTT客戶端智能手機(jī)和控制器分別配置用戶名和密碼,設(shè)它們的用戶名、密碼都為supass,則配置用戶名的命令:

mosquito_passwd-c/etc/mosquito/pwfile supass

按提示輸入密碼。

添加用戶的主題控制權(quán)限

在/etc/mosquito/目錄下,新建一個(gè)文件aclfile,添加命令,指定所有MQTT用戶對(duì)所有主題都有讀、寫權(quán)限,以便訂閱或發(fā)布家居系統(tǒng)的信息。

步驟3配置通過(guò)ssl通信。安裝openssl;

產(chǎn)生證書(shū)文件。

①產(chǎn)生CA的公鑰和證書(shū)文件openssl req-new-x509-days 36500-extensions v3_ca-keyout ca.key-out ca.crt

②為MQTT 服務(wù)器產(chǎn)生一個(gè)私鑰文件server.key,并設(shè)置加密方式openssl genrsa-out server.key 2048 openssl genrsa-des3-out server.key 2048

③為MQTT 服務(wù)器產(chǎn)生一個(gè)簽發(fā)證書(shū)的請(qǐng)求文件“server.csr”openssl req-out server.csr-key server.key-new

④為mosquitto server產(chǎn)生一個(gè)證書(shū)文件openssl x509-req-in server.csr-CA ca.crt-CAkey ca.key-CAcreateserial-out server.crt-days 36500

⑤重復(fù)②~④,為3 個(gè)MQTT 客戶端生成證書(shū)文件。

步驟4搭建ZeroTier網(wǎng)絡(luò)并測(cè)試。

在ZeroTier 官網(wǎng)注冊(cè)賬號(hào);

分別下載OpenWrt 系統(tǒng)、智能手機(jī)操作系統(tǒng)對(duì)應(yīng)的ZeroTier客戶端軟件版本,并進(jìn)行安裝;

使用在ZeroTier 官網(wǎng)注冊(cè)的賬號(hào),登錄個(gè)人賬號(hào)工作面板,創(chuàng)建網(wǎng)絡(luò)ID;

在路由器和智能手機(jī)上運(yùn)行ZeroTier 客戶端軟件,加入創(chuàng)建好的網(wǎng)絡(luò)ID;

在工作面板上授權(quán)各客戶端的連接,分配虛擬局域網(wǎng)IP地址;

網(wǎng)絡(luò)連通測(cè)試。在路由器上ping 智能手機(jī)IPv4地址,若建立起了P2P通道,則可以PING通。

(3)實(shí)現(xiàn)過(guò)程。智能手機(jī)和控制器都是MQTT客戶端,且智能手機(jī)是控制端,它們之間通過(guò)路由器實(shí)現(xiàn)通信,智能手機(jī)和控制器都需要設(shè)計(jì)MQTT 客戶端程序。依據(jù)1.2 節(jié)通信方案,采用Android Studio,為Android系統(tǒng)的智能手機(jī),設(shè)計(jì)MQTT 客戶端程序,采用Arduino開(kāi)發(fā)環(huán)境設(shè)計(jì)控制器的MQTT 客戶端程序[16]。智能手機(jī)2 采用ZeroTier 技術(shù)分配的虛擬局域網(wǎng)IP 地址,進(jìn)行網(wǎng)絡(luò)連通后,從手機(jī)APP 發(fā)布的MQTT 消息內(nèi)網(wǎng)穿透后,直接以P2P 方式傳到路由器,路由器上MQTT 服務(wù)器收到這個(gè)消息后,轉(zhuǎn)發(fā)給控制器,以便控制內(nèi)網(wǎng)1 中的ZigBee終端節(jié)點(diǎn)。

1.3 ZigBee網(wǎng)絡(luò)的安全通信方法

依據(jù)1.1 節(jié),控制器和ZigBee 終端節(jié)點(diǎn)組成以協(xié)調(diào)器為核心的星型網(wǎng)絡(luò),通過(guò)改進(jìn)的Z-Stack 協(xié)議棧AES加密算法實(shí)現(xiàn)它們之間的安全通信。Z-Stack 協(xié)議棧中文件nwk_global.c 定義了默認(rèn)的初始輪密鑰,所有ZigBee節(jié)點(diǎn)開(kāi)啟AES加密算法后,可以設(shè)置協(xié)調(diào)器節(jié)點(diǎn)向各個(gè)節(jié)點(diǎn)發(fā)送初始輪密鑰,它們之間通過(guò)AES加密算法通信,提高安全性。但是AES 加密算法的初始輪密鑰不具有隨機(jī)性,容易破解,因此,本節(jié)提出AES 初始輪密鑰的產(chǎn)生方法,如圖3 所示,初始輪密鑰由控制器產(chǎn)生,每間隔一定時(shí)間,或重啟后輪密鑰重新設(shè)置,由Logistic、PWLCM 混沌映射交叉擴(kuò)散生成,為了保證密鑰的隨機(jī)性,Logistic 混沌映射、PWLCM混沌映射分別迭代若干次。控制器產(chǎn)生輪密鑰后,將其通過(guò)MD5 函數(shù)生成數(shù)字簽名,并將輪密鑰及其數(shù)字簽名發(fā)送給其它所有Zigbee 節(jié)點(diǎn),ZigBee 節(jié)點(diǎn)接收后,進(jìn)行數(shù)字簽名驗(yàn)證,驗(yàn)證無(wú)誤后,便可將輪密鑰作為初始輪密鑰進(jìn)行AES加密或解密。其中,初始輪密鑰產(chǎn)生的主要步驟如下。

步驟1設(shè)置混沌系統(tǒng)的參數(shù)。

圖3 AES初始輪密鑰產(chǎn)生方法

隨機(jī)產(chǎn)生一個(gè)取值范圍為(3.569 945 6,4]的數(shù)作為L(zhǎng)ogistic混沌系統(tǒng)的控制參數(shù)μ;

隨機(jī)產(chǎn)生一個(gè)取值范圍(0,0.5]之間的數(shù)作為PWLCM混沌系統(tǒng)的控制參數(shù);

產(chǎn)生兩個(gè)取值范圍為(0,1)之間的隨機(jī)數(shù),key0、key1,分別作為L(zhǎng)ogistic 混沌系統(tǒng)、PWLCM 混沌系統(tǒng)迭代的初值。

步驟2混沌系統(tǒng)迭代至混沌狀態(tài)。

Logistic混沌系統(tǒng)按步驟1 設(shè)置的參數(shù)分別迭代100 次,消除暫態(tài)的影響,處于混沌狀態(tài)。

步驟3產(chǎn)生AES初始輪密鑰。

在前面Logistic 混沌映射迭代基礎(chǔ)上,再迭代16次,將這16 次Logistic 映射迭代產(chǎn)生的結(jié)果分別保存在PWLCM(i)中,其中i=1,2,…,16;

在前面PWLCM 混沌映射迭代基礎(chǔ),再迭代16次,將這16 次PWLCM映射迭代產(chǎn)生的結(jié)果分別保存在Logistic(i)中,其中i=1,2,…,16;

將PWLCM(i)、Logistic(i)轉(zhuǎn)換成整數(shù)序列,即乘以108,并對(duì)256 取余;

將整數(shù)序列y_PWLCM(i)、y_PLogistic(i)分別轉(zhuǎn)換成4 ×4 矩陣p_mat、l_mat,然后將兩個(gè)矩陣對(duì)應(yīng)元素進(jìn)行異或,作為AES加密的初始輪密鑰。

2 實(shí)驗(yàn)結(jié)果與分析

2.1 MQTT客戶端程序設(shè)計(jì)

以Android 手機(jī)為例說(shuō)明MQTT 客戶端程序的設(shè)計(jì)。在Windows 環(huán)境下構(gòu)建Android Studio 軟件開(kāi)發(fā)環(huán)境,即安裝Java開(kāi)發(fā)工具包JDK1.8;配置JDK環(huán)境變量;安裝Java 集成開(kāi)發(fā)環(huán)境eclipse;安裝Android SDK;為eclipse 安裝ADT 插件。在Android Studio 開(kāi)發(fā)環(huán)境下設(shè)計(jì)程序,該程序主要包括登錄模塊和主界面,實(shí)現(xiàn)家居系統(tǒng)中的環(huán)境參數(shù)信息和非法入侵監(jiān)測(cè)信息的查看,或者向家居系統(tǒng)發(fā)送控制指令。登錄模塊的功能是建立用戶和服務(wù)器的SSL 連接,如果連接成功,跳轉(zhuǎn)到客戶端主界面;否則返回登錄失敗信息。主界面如圖4 所示。

圖4 MQTT客戶端程序主界面

2.2 改進(jìn)的AES算法實(shí)驗(yàn)結(jié)果與分析

采用的實(shí)驗(yàn)環(huán)境:內(nèi)存8 GB,處理器i7-6700HQ,CPU2.6 GHz,操作系統(tǒng)Windows 10,仿真軟件為Matlab R2014a。使用標(biāo)準(zhǔn)AES 算法默認(rèn)密鑰加密解密運(yùn)行結(jié)果如圖5 所示,本文算法產(chǎn)生初始密鑰的運(yùn)行結(jié)果如圖6 所示。

圖5 使用標(biāo)準(zhǔn)AES算法默認(rèn)密鑰加密解密運(yùn)行結(jié)果

圖5、6 中命令窗口最后3 行為處理的數(shù)據(jù),其中第1 行“溫度:20 ℃;光線暗,拉上窗簾”為傳輸?shù)脑紨?shù)據(jù),第2 行為加密后的數(shù)據(jù),第3 行為解密后的數(shù)據(jù)。對(duì)比2 種算法的運(yùn)行時(shí)間,都在0.63 s 左右,而本文算法加密時(shí)間較短,見(jiàn)表1。

表1 算法運(yùn)行時(shí)間對(duì)比

3 結(jié) 語(yǔ)

針對(duì)智能家居面臨的數(shù)據(jù)安全問(wèn)題,本文提出一種無(wú)線組網(wǎng)的智能家居系統(tǒng),采用WiFi 和ZigBee 無(wú)線技術(shù)通信,將路由器部署為MQTT服務(wù)器,路由器上配置安全方案,實(shí)現(xiàn)MQTT 客戶端和服務(wù)器之間的安全通信,成本低、安全性好。同時(shí)基于ZigBee 芯片設(shè)計(jì)的家居設(shè)備節(jié)點(diǎn)之間通過(guò)ZigBee 技術(shù)進(jìn)行通信,為了保證其安全性,啟用Z-Stack 協(xié)議棧的AES 加密算法,并基于Logistic混沌系統(tǒng)和PWLCM混沌系統(tǒng)進(jìn)行交叉擴(kuò)散,產(chǎn)生AES 初始輪密鑰,改善AES 算法的安全性,經(jīng)過(guò)實(shí)驗(yàn)分析,相對(duì)標(biāo)準(zhǔn)AES算法,改進(jìn)的加密算法運(yùn)行時(shí)間較短,有可應(yīng)用性。

猜你喜歡
路由器密鑰智能家居
買千兆路由器看接口參數(shù)
幻中邂逅之金色密鑰
幻中邂逅之金色密鑰
維持生命
路由器每天都要關(guān)
路由器每天都要關(guān)
密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
基于PLC的智能家居控制系統(tǒng)研究
TPM 2.0密鑰遷移協(xié)議研究
基于Zigbee的無(wú)線通信技術(shù)在智能家居中的應(yīng)用