嚴彥歡
(上海領路人照明工程有限公司 上海市 201101)
消息隊列遙測傳輸協(xié)議,簡稱MQTT協(xié)議,是一種新型物聯(lián)網傳輸協(xié)議,與請求/應答(request/response)這種同步模式不同的是,MQTT協(xié)議將傳統(tǒng)的請求/應答方進行了解耦,消息的發(fā)送方(生產者)和接收方(訂閱者)無需進行直連通信,而是由MQTT的代理方(broker)在中間進行消息的轉發(fā)。broker的主要職責是接受發(fā)布者發(fā)布的所有消息,并將其過濾后分發(fā)給不同的消息訂閱者。這樣的傳輸方式非常適合一些復雜的物聯(lián)網應用場景。本文就MQTT相關技術及其應用進行初步探討和研究。
現(xiàn)如今,物聯(lián)網應用已經深入到現(xiàn)代生活的方方面面。從日常生活中的哈羅單車,互聯(lián)網汽車再到智慧家居以及工業(yè)自動化等領域,各種不同類型的設備都在全球范圍內實現(xiàn)了數字連接和信息共享。我國在物聯(lián)網行業(yè)起步雖晚,但是發(fā)展速度卻很驚人。
筆者所屬公司位于上海市松江漕河涇高新技術開發(fā)區(qū),公司擁有專利50余項,擁有城市及道路照明一級資質、照明工程設計專項甲級,“雙甲”資質,是國內領先的智慧城市與文旅夜游燈光設計施工的高新技術企業(yè)。近年來,在5G商用、新基建、智慧城市等國家戰(zhàn)略的推動下,公司以景觀照明為基礎,以智慧路燈為切入點,在亮化工程、智慧社區(qū)、智慧停車場等多個領域展開技術開發(fā)和應用推廣,聚集了在智慧城市建設中承接重大項目的優(yōu)勢資源和成功經驗。公司將依托優(yōu)秀的人才團隊、強大的運作實力及完善的服務保障,致力于為客戶提供高標準解決方案,打造高效、和諧、人文的智慧城市,與合作伙伴攜手共同創(chuàng)造智慧生活,成為優(yōu)秀的合伙人。
在這樣的大環(huán)境下,我司堅持從傳統(tǒng)照明亮化工程,向物聯(lián)網亮化燈光行業(yè)轉型,堅持兩條腿走路,開拓新的更廣闊的市場空間。力爭在物聯(lián)網亮化燈光領域先人一步,搶占先機,發(fā)揮自身傳統(tǒng)照明行業(yè)領導者的優(yōu)勢基礎上,再上新的臺階。公司短期將把資源向智慧研發(fā)部門傾斜,以傳統(tǒng)亮化燈光項目為依托,在此基礎上定制開發(fā)一套基于互聯(lián)網思維的云智慧管控平臺。通過此平臺以期達到能夠同時控制燈光行業(yè)的強電和弱電設備,并借助于先進的消息隊列遙測傳輸協(xié)議等技術,實現(xiàn)遠程精準控制亮化燈光設備。同時,著力突破物聯(lián)網與傳統(tǒng)亮化燈光相結合產生的各種潛在的風險點,比如:如何避免黑客惡意入侵燈光控制系統(tǒng),播放違規(guī)的亮化燈光節(jié)目;如何保證遠距離傳輸指令時,播放指令不被惡意竊取并篡改;如何避免操作人員誤操作導致重要的節(jié)目數據丟失等風險。
《探路者智慧城市云平臺》項目正是在這樣的背景下提出并立項的,主要目標是為了在與物聯(lián)網密切相關的“亮化文旅行業(yè)”搶占先機,利用筆者所屬公司在亮化行業(yè)的先導地位,將傳統(tǒng)照明燈控和亮化行業(yè)的各類設施,與云中心遠程對接,旨在構建一套基于物聯(lián)網思維下的智慧城市云平臺。
十四五規(guī)劃綱要中多次提到“物聯(lián)網”,重點發(fā)展的領域有:推動傳感器、高精度定位等技術創(chuàng)新、培育車聯(lián)網、醫(yī)療物聯(lián)網和智能家居物聯(lián)網產業(yè)[1]。
筆者所屬公司為了積極響應國家政策,成立了智慧研發(fā)部門,聚合了物聯(lián)網行業(yè)內高端人才,重金投入打造《探路者智慧城市云平臺》系統(tǒng),為企業(yè)指明了發(fā)展方向,以傳統(tǒng)燈光照明行業(yè)為依托,全面引入物聯(lián)網思維,將傳統(tǒng)燈光照明以及樓宇亮化工程,通過與物聯(lián)網思維的整合,催生出智慧研發(fā)板塊。既在傳統(tǒng)燈光照明行業(yè)做大做強,成為行業(yè)領跑者。同時,發(fā)展自身的物聯(lián)網平臺,將傳統(tǒng)的燈光照明系統(tǒng)中用到的各種硬件設備,接入到云平臺,通過統(tǒng)一的控制中心,做到中心端進行決策,向終端設備下發(fā)指令。同時,所有的被管對象應在接到指令的第一時間進行響應,保證指令響應及時并將執(zhí)行的結果反饋給中心端。所有對接物聯(lián)終端設備應納入中心端統(tǒng)一進行管理,由云平臺遠程發(fā)送開關指令進行強電控制,并支持對亮化主體燈光節(jié)目的遠程管控。
本人作為智慧研發(fā)部門的技術主管,從《探路者智慧城市云平臺》這個項目立項一開始就參與到項目中,對該項目的各項技術選型進行了科學的分析評估,項目開發(fā)過程中也確實遇到了不少技術難題。例如:
(1)對接的物聯(lián)終端設備種類繁多,包括:強電模塊下配電箱、模塊、回路的遠程控制,弱電模塊下脫機主控、聯(lián)機主控、霧森、音響、激光燈、噴泉等如何管控;
(2)燈光節(jié)目管控模塊下播放策略的制定,如何將計劃好的播放策略下發(fā)到采集終端上保證計劃正常執(zhí)行;
(3)如何實現(xiàn)一個項目中的多個亮化樓宇的節(jié)目聯(lián)動播放等。
由于該項目中涉及到的技術難題數量較多,本篇論文只針對如何實現(xiàn)即時遠程播放樓宇燈光節(jié)目以及定時下發(fā)節(jié)目播放場景問題做進一步研究。
如果想要做到一個項目下的亮化主體燈光節(jié)目進行實時播放,一般有兩種解決方案:
方案一:通過傳統(tǒng)互聯(lián)網行業(yè)廣泛使用的TCP/IP或者UDP協(xié)議,由中心端向終端設備下發(fā)同步指令,告知終端設備立刻播放預置好的節(jié)目;
方案二:通過目前物聯(lián)網行業(yè)普遍使用的MQTT協(xié)議,下發(fā)指令給到終端設備,告知終端設備播放節(jié)目。
TCP/IP和UDP協(xié)議相信對于了解互聯(lián)網行業(yè)的讀者來說比較熟悉,但MQTT協(xié)議為何物?本人先做一個簡單的說明:一種基于物聯(lián)網行業(yè)消息隊列遙測傳輸協(xié)議。MQTT可以使用少量的代碼,在帶寬有限的惡劣環(huán)境下,提供實時且安全的消息服務。MQTT以其安全性高功耗低的優(yōu)勢,迅速應用于各類小型終端設備、醫(yī)療物聯(lián)網、智能家居等行業(yè)。
通過上述對MQTT定義說明,結合以上兩種解決方案綜合來看,如果針對的是物聯(lián)網場景,顯然MQTT協(xié)議更合適。MQTT是為物聯(lián)網行業(yè)而生,天生就適合在物聯(lián)網、各類中小型設備以及移動應用上傳輸消息。但是也有其自身的缺陷,比如說:由于MQTT一般獨立運行于TCP層之上并通常會以明文方式進行傳輸,使用某些抓包工具完全可以看到MQTT發(fā)送的所有消息,消息指令一覽無余,這樣就可能會產生如下的風險:
(1)設備可能會被盜用;
(2)客戶端和服務端的靜態(tài)數據可能是可訪問的(可能會被修改);
(3)協(xié)議行為可能有副作用(如計時器攻擊);
(4)拒絕服務攻擊;
(5)通信可能會被攔截、修改、重定向或者泄露;
(6)虛假控制報文注入。
《探路者智慧城市云平臺》項目需要符合國家網絡安全等級三級保護制度。也就是行業(yè)內通常所說的三級等保制度,國家網絡安全等級三級保護制度的細則如下:
等級一,自主保護級:信息系統(tǒng)在遭受到外部破壞后,將會對公民、各類組織和法人的合法權益造成一定程度的損害,但不損害到國家安全和公共社會秩序。一般適用于小型私營企業(yè)、個體企業(yè),鄉(xiāng)鎮(zhèn)級安全性一般的信息系統(tǒng)。
等級二,指導保護級:系統(tǒng)在遭受到外部網絡攻擊后,會對公民、法人及其他合法組織造成較為嚴重的損害,但不會損害到國家安全。一般適用于縣級相關單位中的某些信息系統(tǒng);
等級三,監(jiān)督保護級:信息系統(tǒng)在受到外部破壞后,將會對社會秩序和公共利益造成很嚴重的損害,或者會對國家安全造成損害。這種級別一般適合地市級以上國家重要機關,企事業(yè)單位內部重要的信息系統(tǒng),比如涉及國家安全、軍事設施、重要商業(yè)機密等管理系統(tǒng);比如:跨省調度的重要信息系統(tǒng),中央各部位、省(市、區(qū))的門戶網站等。
3.3.1 技術分析
三級等保認證到底有多嚴格呢?展開來看:
在物理安全層面上,部署系統(tǒng)的機房除有最基本的安全控制之外,還應具備防火、抗風、防潮甚至電磁防護能力等,同時也要具備災后數據恢復的能力,如要具備所有這些條件的話,平臺需要付出的資金成本及人力相對是很大的,所以針對有些體量較小的軟件平臺完全就沒有達成這些要求的實力。
三級等保認證最嚴的地方還是在技術層面,主要體現(xiàn)在系統(tǒng)安全管理和惡意代碼防范上,簡單可以理解為當有黑客對平臺進行攻擊時,平臺應該具備一定的防范能力。
如果需要滿足這樣嚴格的要求,最終通過三級等保認證的話,使用MQTT協(xié)議的弊端就顯現(xiàn)出來了,經過項目組成員幾番激烈的討論綜合分析下來,使用MQTT的利還是大于弊的。因此,我們需要針對MQTT協(xié)議做缺陷修復。
3.3.2 技術方案
首先,我們從應用層和傳輸層來對MQTT協(xié)議進行認證;
(1)MQTT客戶端可以使用客戶標識來進一步認證;
(2)在傳輸層進行認證。
(3)選擇用戶數據格式:本系統(tǒng)使用JSON數據作為消息體的傳輸格式[2]。
通過以上技術方案,目前可以實現(xiàn)如下功能:
(1)在應用層面上,MQTT支持客戶標識、用戶名和密碼的多項認證[3];并且在傳輸層可以使用TLS,除了加密通訊,還可以使用X509證書來認證設備。
(2)MQTT協(xié)議;本系統(tǒng)使用客戶標識、用戶名和密碼進行認證。如果后期感覺不夠安全,還可以在傳輸層進行認證。在傳輸層認證是這樣的:MQTT代理[4]在TLS握手成功之后可以繼續(xù)發(fā)送客戶端的X509證書來認證設備,如果設備不合法便可以中斷連接。使用X509認證的好處是,在傳輸層就可以驗證設備的合法性,在發(fā)送CONNECT消息之前便可以阻隔非法設備的連接,以節(jié)省后續(xù)不必要的資源浪費。而且,MQTT協(xié)議運行在使用TLS時,除了提供身份認證外,還可以確保消息的完整性和保密性。
(3)JSON的中文名稱是JavaScript對象標記語言,也是基于萬物皆對象的思想。因此,任何對象的定義都可以使用JSON來表示,比如:數值、字符串、對象、數組等。其語法有如下規(guī)則:
(1)對象表示為鍵值對(key-value)形式[5];
(2)數據之間由逗號分隔;
(3)對象由花括號進行封裝;
(4)數組由方括號進行封裝。
JSON格式層次結構清晰,易于閱讀和編碼,同時也方便機器生成和解析,大大提高了網絡傳輸效率。
運用MQTT協(xié)議技術能夠最大滿足《探路者智慧城市云平臺》項目內的數據分發(fā)任務,保證物聯(lián)網項目在協(xié)議層面具有高安全、低開銷,并且在項目組成員的優(yōu)化后能滿足國家網絡三級等保審核?!短铰氛咧腔鄢鞘性破脚_》項目目前還在進一步功能擴充中,它的正式上線將會是“亮化文旅”行業(yè)由傳統(tǒng)人為管控過渡到遠程智能云平臺管控的一次巨大變革。此項目不僅對“亮化文旅”行業(yè)是一個技術革新,并且融合了市政環(huán)保、社區(qū)生活、養(yǎng)老醫(yī)療、安防監(jiān)控等領域的物聯(lián)設備,未來可能以物聯(lián)網為載體向著智慧城市方向進一步邁進。使物聯(lián)網行業(yè)真正成為改善人類生活方式的貼心助手。