邢賽楠
(湖北大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,湖北 武漢 430062)
MQTT傳輸安全問(wèn)題淺析
邢賽楠
(湖北大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,湖北 武漢 430062)
物聯(lián)網(wǎng)技術(shù)是信息科技發(fā)展演進(jìn)形成的一項(xiàng)全新技術(shù),它將各類(lèi)設(shè)備,比如手機(jī)、電腦、可穿戴設(shè)備等,通過(guò)無(wú)線(xiàn)或有線(xiàn)的方式連接到公共網(wǎng)絡(luò),以便于人們能夠隨時(shí)隨地操控,方便人們的生活。然而,物聯(lián)網(wǎng)在方便人們生活的同時(shí),在技術(shù)上提出了更多挑戰(zhàn),其中,最突出的一個(gè)問(wèn)題便是安全問(wèn)題,并且該問(wèn)題是物聯(lián)網(wǎng)技術(shù)革新中發(fā)展最慢的一類(lèi)問(wèn)題。MQTT協(xié)議是由IBM提出的一套物聯(lián)網(wǎng)傳輸層協(xié)議,該協(xié)議基于客戶(hù)端/服務(wù)器架構(gòu),具有傳輸非對(duì)稱(chēng)性特點(diǎn),非常適用于物聯(lián)網(wǎng)大規(guī)模非實(shí)時(shí)信息傳輸。通過(guò)討論MQTT的傳輸安全性問(wèn)題,提出了一些未來(lái)可能的研究方向。
MQTT;物聯(lián)網(wǎng);安全性;傳輸層
物聯(lián)網(wǎng)(Internet Of Things,IOT)是一項(xiàng)全新的技術(shù),它將各類(lèi)設(shè)備連接到公共網(wǎng)絡(luò)。國(guó)際電信巨頭Cisco公司調(diào)查得出,預(yù)計(jì)在2020年,全球?qū)⒂?00億設(shè)備相互連接。物聯(lián)網(wǎng)推動(dòng)了從智能家居到智能工業(yè)的整個(gè)自動(dòng)化時(shí)代,將對(duì)人們的生活產(chǎn)生巨大的影響。世界各國(guó)都制定了物聯(lián)網(wǎng)智能戰(zhàn)略,比如德國(guó)的工業(yè)4.0等。我國(guó)也出臺(tái)了相應(yīng)的宏偉目標(biāo),名為“中國(guó)制造2025”。工業(yè)物聯(lián)網(wǎng)將是未來(lái)科技發(fā)展、節(jié)能減排、自動(dòng)化工業(yè)的強(qiáng)力推手。
然而,隨著越來(lái)越多、數(shù)以?xún)|計(jì)的設(shè)備連接入網(wǎng)使用,一系列技術(shù)限制和難題也隨之而來(lái)。其中,最引人關(guān)注的問(wèn)題便是安全問(wèn)題。在傳統(tǒng)的互聯(lián)網(wǎng)時(shí)代,對(duì)安全問(wèn)題的討論由來(lái)已久,不少安全問(wèn)題已經(jīng)得到解決。然而這些辦法可能在物聯(lián)網(wǎng)時(shí)代不能直接使用,其最大的原因便是,物聯(lián)網(wǎng)的設(shè)備多是輕量級(jí)設(shè)備,在能耗、尺寸以及計(jì)算能力上均多有限制。比如,由于資源受限,傳感器網(wǎng)絡(luò)中廣泛使用的安全協(xié)議IPsec協(xié)議不能在無(wú)線(xiàn)傳感網(wǎng)絡(luò)中使用。
此外,物聯(lián)網(wǎng)時(shí)代的設(shè)備互聯(lián)問(wèn)題也非常關(guān)鍵,各種各樣的互聯(lián)協(xié)議層出不窮,比如COAP(ConstrainedApplication Protocol)、MQTT(Message Queue Telemetry Transport)、XMPP(Exensible Messaging and Presence Protocol)等。其中,由OASIS組織提出的MQTT互聯(lián)協(xié)議是一類(lèi)輕量級(jí)協(xié)議。該協(xié)議已被廣泛應(yīng)用在工業(yè)物聯(lián)網(wǎng)中,比如石油、勘探等領(lǐng)域。
本文重點(diǎn)探討MQTT傳輸協(xié)議中的安全問(wèn)題,分析了MQTT的安全傳輸機(jī)制及目前存在的一些技術(shù)問(wèn)題。章節(jié)內(nèi)容劃分如下:第一節(jié)描述了MQTT協(xié)議信息傳輸架構(gòu);第二節(jié)探討了MQTT信息傳輸存在的安全問(wèn)題;第三節(jié)總結(jié)了本文的內(nèi)容,提出了未來(lái)可能的發(fā)展方向。
MQTT協(xié)議是消息隊(duì)列電文傳輸協(xié)議的縮寫(xiě),由IBM在1999年設(shè)計(jì)并提出,其設(shè)計(jì)的主要目的是為大量的計(jì)算能力有限,工作在低帶寬、高延時(shí)、不可靠網(wǎng)絡(luò)的無(wú)線(xiàn)傳感網(wǎng)絡(luò)設(shè)備或傳感器提供一種開(kāi)放、輕量、快捷的通信協(xié)議。MQTT通信架構(gòu)如圖1所示。
圖1MQTT通信架構(gòu)
圖2MQTT信息傳輸幀結(jié)構(gòu)
通常,一例MQTT通信包括2類(lèi)終端,即MQTT客戶(hù)端和MQTT服務(wù)端。MQTT客戶(hù)端能夠發(fā)送或者接收信息,在MQTT中,發(fā)送又被稱(chēng)作“發(fā)布”,接收又被稱(chēng)作“訂閱”。發(fā)布者發(fā)送一些應(yīng)用信息,訂閱者接收這些信息。MQTT服務(wù)端連接所有的內(nèi)網(wǎng)MQTT客戶(hù)端,接收發(fā)布者發(fā)送的信息,并傳遞這些信息到那些完成信息訂閱的MQTT客戶(hù)端。通常,物聯(lián)網(wǎng)終端傳感器、手機(jī)設(shè)備等均為MQTT客戶(hù)端,它們將要廣播的信息發(fā)布到MQTT服務(wù)端。MQTT服務(wù)端收到信息后進(jìn)行匯總分類(lèi),然后發(fā)送到MQTT訂閱者。該種傳輸模式把復(fù)雜運(yùn)算工作都放在了MQTT服務(wù)端,減少了MQTT客戶(hù)端的工作量,非常適用于資源有限的物聯(lián)網(wǎng)應(yīng)用。MQTT信息傳輸幀結(jié)構(gòu)如圖2所示。
MQTT控制幀包含一個(gè)固定的頭文件和數(shù)據(jù)流。
MQTT的數(shù)據(jù)信息遵循分級(jí)結(jié)構(gòu),每一級(jí)稱(chēng)為一個(gè)標(biāo)題,每一個(gè)標(biāo)題包含一個(gè)名字和一項(xiàng)內(nèi)容,級(jí)與級(jí)之間由符號(hào)“/”相連接。
MQTT支持以下3類(lèi)QOS模式:①“Fire and Forget”模式,或者稱(chēng)為最多一次模式。在這類(lèi)模式下,信息可能會(huì)丟失。②“Acknowledged delivery”模式,或者稱(chēng)為最少一次模式。在這類(lèi)模式下,信息傳輸多次直到信息抵達(dá)為止。③“Exactly once”模式,或者稱(chēng)為保證交付模式。在該模式下,信息只傳輸一次,保證抵達(dá)。
雖然后2種模式更加可靠,但是在傳輸過(guò)程中需要增加更多的開(kāi)銷(xiāo),占用更多的帶寬,在一些資源有限制的應(yīng)用場(chǎng)景中可行性受到制約。目前,MQTT協(xié)議并未在安全性問(wèn)題上提出解決方案,筆者認(rèn)為其安全問(wèn)題能夠在以下三個(gè)方面進(jìn)行探索:認(rèn)證,鑒權(quán)以及數(shù)據(jù)加密。認(rèn)證方面,可以在建立連接后體檢鑒權(quán)程序,認(rèn)證過(guò)程通過(guò)用戶(hù)名和密碼實(shí)現(xiàn)。MQTT服務(wù)端存儲(chǔ)所有MQTT客戶(hù)端的用戶(hù)名和密碼,秘鑰的通信采用密文。
鑒權(quán)方面,MQTT服務(wù)端對(duì)所有MQTT客戶(hù)端進(jìn)行分類(lèi)分級(jí),并制定對(duì)應(yīng)的權(quán)限以及能夠操作的對(duì)象。通過(guò)用戶(hù)名和密碼,MQTT服務(wù)端能夠?qū)λ蠱QTT客戶(hù)端進(jìn)行鑒權(quán)。在很多情況下,認(rèn)證過(guò)程和鑒權(quán)過(guò)程能夠合二為一。MQTT數(shù)據(jù)加密方面,能夠在各個(gè)層對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密。例如在傳輸層,由于MQTT數(shù)據(jù)傳輸是基于TCP/IP協(xié)議,因此,可以采用TLS進(jìn)行加密。在數(shù)據(jù)鏈路層,可以采用傳統(tǒng)的AES算法對(duì)數(shù)據(jù)進(jìn)行加密。加密過(guò)程可以使用硬件加速器實(shí)現(xiàn)。
本文探討了面向物聯(lián)網(wǎng)應(yīng)用的MQTT協(xié)議以及其安全性問(wèn)題??梢钥吹?,傳統(tǒng)的安全問(wèn)題解決方案由于其運(yùn)算量巨大,不能直接適用于資源受限的物聯(lián)網(wǎng)場(chǎng)景。因此未來(lái)的解決方案的方向?qū)⒃谳p量級(jí)和安全性能方面達(dá)到平衡。不久的將來(lái),越來(lái)越多的設(shè)備將連接到公共網(wǎng)絡(luò),因此,筆者呼吁政府機(jī)關(guān)以及協(xié)議制定機(jī)構(gòu)需要盡快對(duì)現(xiàn)有的MQTT協(xié)議進(jìn)行安全性方面的完善。
[1]任享,馬躍,楊海波,等.基于MQTT協(xié)議的消息推送服務(wù)器[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2014(3).
[2]蓋榮麗,錢(qián)玉磊,李鴻彬,等.基于MQTT的企業(yè)消息推送系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2015(11).本文部分參考文獻(xiàn)因著錄項(xiàng)目不全被刪除。
TP393.04
A
10.15913/j.cnki.kjycx.2018.01.017
2095-6835(2018)01-0017-02
〔編輯:劉曉芳〕