劉倩倩
(山西工程職業學院,山西 太原 030000)
近年來,信息世界的交互已不再滿足于計算機與計算機之間,逐漸向各種各樣的物體或設備上蔓延,如智能穿戴、智能電表、共享單車等。物體與物體之間通過網絡實現相互連接、相互通信,這就是物聯網的概念[1]。物聯網技術是一個統稱,它包含了感知、傳輸、支撐與應用等多方面多結構的先進技術。由于技術涵蓋廣泛,應用靈活,物聯網的涉足領域越來越大,智能家居、交通運輸、物流管理、公共設施、醫療設備、農業種植等行業都有了物聯網的身影[2]。全球企業緊跟時代步伐,積極研發物聯網設備,或對傳統設備進行數字化改造,添加物聯網功能,使設備可以通過網絡進行監控、升級、數據采集等操作,大大提高了設備的生產效率。
在物聯網設備中,無論是從現場采集的數據,還是服務器下發的指令,這些信息都通過網絡進行傳遞,所以整個過程中,必須采取一定措施與方案將數據進行防護,以免被外界竊取或攻擊。而目前部分廠商在配置或升級數字化、信息化的物聯網設備時,礙于技術限制或成本問題,其數據安全防護配置并未同步,對設備安全造成很大漏洞。同時由于物聯網終端與應用的不斷融合,以及場景適配的多樣性,物聯網的安全問題更加突出。
在傳統的互聯網中,一般使用安全協議來保障各個層級中數據的安全,如SSL/TLS、Telnet、SSH等,然而物聯網體系架構、應用協議、產品特征等都與傳統互聯網不同,大多數物聯網設備資源受限,在存儲空間和計算能力上嚴重不足。所以絕大多數情況下,這些傳統的互聯網安全協議都無法部署于物聯網設備中。因此,對于物聯網設備,需要一些更具適配性的安全防護方案,來保證數據的安全。
本文通過分析目前物聯網中比較先進的一種技術——窄帶物聯網NB-IoT,來闡述針對NB-IoT技術與其應用場景中的數據傳輸安全協議DTLS的適用性。
隨著物聯網技術的不斷進步,其通信方式已不滿足于近距離傳輸,如藍牙、Wi-Fi、ZigBee等,這些傳輸方式可以很好地應用在一個小范圍空間內,如家庭內部、寫字樓 等。然而隨著應用場景的擴大,物聯網設備的通信已逐漸不滿足于局域傳輸,同時 增加了更多的需 求,如超低功耗、海量連接等。在一些特定的應用場景下,例如在許多偏遠地區以及山林等人煙稀少的場所安裝物聯網設備并對其遠程操控,這時就需要一種能同時實現廣域通信和海量連接的物聯網產品來滿足應用需求,所以基于蜂窩網絡的物聯網技術逐漸受到市場的追捧,如 GPRS、CDMA、LTE等,甚至為了滿足低功耗、低速率的應用需求,推出了專門針對物聯網的NB-IoT與LoRa等新型蜂窩技術,這些新型蜂窩技術在功耗、帶寬、數據傳輸方式等方面對于物聯網應用都具有絕對的優勢。
特別是窄帶物聯網NB-IoT,在目前物聯網應用方面表現非常出色,它由NB-CIoT與NB-LTE兩項技術結合構成,所以NB-IoT技術在部署方式上非常靈活,既可以在帶內或在保護帶部署,同時也支持獨立部署[3]。之所以被稱為“窄帶”物聯網的原因是由于NB-IoT的帶寬只占了180 kHz。相較于傳統的廣域蜂窩網技術和Bluetooth、Wi-Fi、ZigBee等短距離傳輸技術,NB-IoT具備很多優勢。首先是海量連接,NB-IoT技術中,每個扇區可接受高達10萬個設備同時連接;其次是廣域覆蓋,只要有蜂窩網絡的地點都可部署NB-IoT,而且覆蓋面積比傳統蜂窩網擴大了上百倍;三是超低功耗,模塊的正常使用時間可長達十年或以上;不僅如此,NB-IoT模塊還具有成本低廉的優勢,單個模塊成本小于5美元。
NB-IoT技術非常適用于數據需求小的網絡指令業務,如共享單車、智能電表、煙霧報警器、智能門鎖等,由于其優點眾多,越來越多的企業開始采用NB-IoT技術提升競爭力,而運營商層面也在大力支持NB-IoT技術的發展。專家預測,NB-IoT的物聯網連接量未來會達到總連接量的四分之一,可以肯定的是,NB-IoT技術已成為物聯網生態越來越重要的一部分。
NB-IoT技術優點眾多,應用場景廣泛。NB-IoT物聯網技術在大力發展的同時,信息安全成為NB-IoT技術需要考慮的重要問題。物聯網的層級架構共三層:感知層、傳輸層與應用層,每一層都存在受到安全威脅的可能性。感知層與應用層安全防護技術目前已經成熟,一般可用終端邊界防護、蜂窩通信、訪問控制、數據校驗等技術進行安全防護,而互聯網的傳輸層安全主要是靠安全傳輸協議TLS/SSL來防護,TLS/SSL協議建立在傳輸層TCP 與應用層之間,通 過數字證書認證與非對 稱加密算法來保證數據傳輸的安全性。但由于NB-IoT模塊的功耗和成本都有嚴格限制,在很多場景下,傳輸層協議并未選擇TCP,而是選擇占用系統資源較少、傳輸方式更簡單的UDP協議,然而安全傳輸協議TLS/SSL只能建立在TCP之上,無法應用于UDP之上,即無法使用傳統的安全傳輸層協議TLS/SSL 來為小容量、低功耗模塊NB-IoT提供數據傳輸的保密性。為了確保NBIoT模塊數據傳輸的安全性,需要一種更具適配性的安全傳輸方案。
DTLS的英文全稱為Datagram Transpor t Layer Security,中文叫做數據包傳輸層安全協議。
DTLS在原本的TLS協議代碼架構上做了升級和適配,所以它的安全防護機制不變,而且并不低于TLS安全防護等級,對于信息的竊聽與非法篡改,以及虛假身份驗證等安全問題,都可以有效解決。DTLS部署于UDP之上,專門為基于UDP的數據傳輸提供安全保障。當窄帶物聯網NB-IoT模塊應用在對功耗、存儲空間、計算資源都有一定限制的場景中時,為了提高模塊的通信效率,在傳輸層往往選擇UDP協議。所以針對此類情況,選擇DTLS協議作為傳輸層的安全防護解決方案,可有 效保證NB-IoT模塊傳輸層數據的安全性與私密性。
DTLS是TLS的子集,目前OpenSSL庫中已經包含DTLS1.0和DTLS1.2的版本。DTLS協議中包含多種加密算法,與TLS一樣,秘鑰協商在握手流程中完成。根據加密方式的不同,DTLS中的加密算法也可分為非對稱加密和對稱加密兩大類。兩類加密方式在算法強度、通信效率等方面各有所長,針對不同的應用場景,可選擇不同的加密方式。
非對稱加密,即基于橢圓加密算法的ECC加密方式。在握手連接階段使用ECDH秘鑰協商算法與ECDSA數字簽名算法產生公鑰、私鑰與數字簽名,而且需要通信雙方互相驗證數字證書;在數據傳輸階段加密與解密使用不同的秘鑰,這就是非對稱加密的含義。這種非對稱加密方式安全可靠,加密等級高,但是算法相對復雜,加密解密速度慢,同時對模塊系統資源要求較高,但是在針對很多具體的NB-IoT應用中,尤其是一些微型設備上,其計算資源和內存空間都非常小,使用基于ECC的非對稱加密方式會給設備造成不小的壓力。因此,在大多數情況下,NB-IoT設備中采用更為輕量級的加密方式——基于PSK的對稱加密算法。
PSK全稱為Pre Shared Key,即預共享秘鑰。支持使用PSK算法的通信雙方會預先在本地存取對方的PSK秘鑰(psk_id)與秘鑰長度(psk_id_ length)。建立握手連接時,雙方分別在server_key_ exchange與client_key_exchange報文段中攜帶各自的psk_id及psk_id_length發送給對方,只有通信雙方接收的PSK秘鑰與本地預先存儲的對應IP地址的秘鑰完全一致才能通過身份驗證進入下一個握手流程。通過身份驗證后,雙方使用建立連接時各自端產生的32字節隨機數生成對稱的會話秘鑰,用于握手成功后應用數據的加密與解密。因此可以保證,雖然本地預先存儲的PSK秘鑰未變,但每次建立通信時的臨時會話秘鑰都會發生變化,從而使傳輸層數據的安全性和抗攻擊性得到了保證。
從PSK的加密流程中可以看出,對比基于ECC的加密方式,PSK在握手過程中報文更為簡潔,減少了復雜算法的加密與解密,在傳輸應用數據時使用對稱秘鑰,為數據傳輸提供安全可靠性的同時提高了通信效率,同時降低了模塊功耗,滿足了NB-IoT模塊應用場景中低功耗、計算資源有限的需求。
基于PSK的加密方式不僅保證了傳輸層通信過程中應用數據的安全性,同時又滿足NB-IoT模塊資源受限的特點。在一些更為極限的條件下,為了延長模塊的使用壽命,提高通信效率,若客戶端與服務器需要頻繁建立連接進行數據傳輸,在通信雙方第一次握手成功后,通信雙方可將對方的IP地址、端口號、加密方式、PSK秘鑰等標識,作為一條新的標識進行儲存,當再次建立握手連接時,在報文中加入新的標識,對方收到報文后便可通過身份驗證,直接進行應用數據的傳輸,此方案可大大減小頻繁通信時雙方發送與接收的報文量,進一步節約模塊功耗。
本文通過介紹窄帶物聯網NB-IoT技術的特點,分析了NB-IoT模塊的應用場景和安全需求,提出了基于DTLS安全傳輸協議在NB-IoT模塊中應用的可行性,著重闡述了DTLS協議中的PSK加密方式對于NB-IoT模塊應用場景的適用性。基于PSK的加密方式不僅為模塊的數據傳輸提供機密性與可靠性,同時在降低功耗、節省空間與計算資源方面也更加適用于窄帶物聯網模塊;最后提出了一種基于PSK安全加密的改進方式,可在PSK算法優點的基礎上將功率消耗降到更低,進一步提高通信效率。該方案可應用于窄帶物聯網對于功耗、資源更為苛刻的場景中,鞏固PSK算法的輕量級實現。