應(yīng)用

技術(shù)

物聯(lián)網(wǎng)世界 >> 物聯(lián)網(wǎng)新聞 >> 物聯(lián)網(wǎng)熱點(diǎn)新聞
企業(yè)注冊個人注冊登錄

LoRa聯(lián)盟最新白皮書:LoRaWAN安全-可為IoT應(yīng)用供應(yīng)商提供完整的端對端加密

2017-03-24 11:02 LoRa Alliance

導(dǎo)讀:這是最近LoRa聯(lián)盟官方發(fā)布的第6份白皮書,主題是安全,由GEMALTO、ACTILITY和SEMTECH一同提供,總體來說技術(shù)性較強(qiáng),翻譯難免有不妥之處,還請大家見諒。

  這是最近LoRa聯(lián)盟官方發(fā)布的第6份白皮書,主題是安全,由GEMALTO、ACTILITY和SEMTECH一同提供,總體來說技術(shù)性較強(qiáng),翻譯難免有不妥之處,還請大家見諒。


  介紹

  LoRaWAN?是一種低功耗廣域網(wǎng)絡(luò)協(xié)議,可以為IoT、M2M、智慧城市和工業(yè)應(yīng)用等場景提供低功耗、可移動、安全的雙向通信。LoRaWAN協(xié)議為低功耗進(jìn)行了優(yōu)化,并且為可支持?jǐn)?shù)以百萬計設(shè)備的大型網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行了特別設(shè)計。LoRaWAN的特點(diǎn)是可以支持冗余操作、定位、低成本和低功耗等應(yīng)用場景。

  安全是所有應(yīng)用場景的基本前提,所以從一開始在LoRaWAN協(xié)議中就對安全性進(jìn)行了設(shè)計。然而安全包含眾多方面,尤其是LoRaWAN的加密機(jī)制需要特殊的解釋。所以此白皮書將會對當(dāng)前LoRaWAN協(xié)議的安全性進(jìn)行說明。首先會針對協(xié)議中的安全屬性進(jìn)行闡述,然后呈現(xiàn)具體的實現(xiàn)細(xì)節(jié),最后對一些LoRaWAN安全性上的設(shè)計進(jìn)行解釋。

  LoRaWAN?安全屬性

  LoRaWAN的安全性設(shè)計原則要符合LoRaWAN的標(biāo)準(zhǔn)初衷,即低功耗、低復(fù)雜度、低成本和大擴(kuò)展性。由于設(shè)備在現(xiàn)場部署并持續(xù)的時間很長(往往是數(shù)年時間),所以安全考慮一定要全面并且有前瞻性。LoRaWAN安全設(shè)計遵循先進(jìn)的原則:標(biāo)準(zhǔn)的采取,算法的審查,以及端到端的安全機(jī)制。接下來我們會對LoRaWAN安全性的基本特性進(jìn)行描述:包括雙向認(rèn)證、完整性校驗和保密機(jī)制。

  雙向認(rèn)證作為網(wǎng)絡(luò)連接的過程,發(fā)生在LoRaWAN終端節(jié)點(diǎn)與網(wǎng)絡(luò)之間。這確保只有真正的和已授權(quán)的設(shè)備才能與真實的網(wǎng)絡(luò)相連接。

  LoRaWAN的MAC和應(yīng)用消息是“生來”經(jīng)過認(rèn)證、完整性保護(hù)和加密的。這種保護(hù)和雙向認(rèn)證一同確保了網(wǎng)絡(luò)流量沒有改變,是來自一個合法的設(shè)備,而不是“竊聽者”,或者“流氓”設(shè)備。

  LoRaWAN安全性進(jìn)一步為終端設(shè)備和服務(wù)器之間的數(shù)據(jù)交換提供了端對端的加密機(jī)制。LoRaWAN是為數(shù)不多的支持端對端加密的IoT網(wǎng)絡(luò)技術(shù)。傳統(tǒng)的蜂窩網(wǎng)絡(luò)中,加密發(fā)生在空中接口處,但在運(yùn)營商的核心網(wǎng)絡(luò)中只是把它當(dāng)做純文本來傳輸?shù)摹R虼?,終端用戶還要選擇、部署和管理一個額外的安全層(通常通過某種類型的VPN或應(yīng)用層加密如TLS來實現(xiàn))。但這種方法并不適合應(yīng)用在LPWAN技術(shù)中,因為這會額外地增加網(wǎng)絡(luò)功耗、復(fù)雜性和成本。

  安全策略

  之前提到的安全機(jī)制依賴于經(jīng)過完備測試和標(biāo)準(zhǔn)化的AES加密算法。加密社區(qū)已經(jīng)對這些算法進(jìn)行了多年的研究和分析,并且被美國國家標(biāo)準(zhǔn)技術(shù)研究所認(rèn)定為適用于節(jié)點(diǎn)和網(wǎng)絡(luò)之間最佳的安全算法。LoRaWAN使用AES加密語句,并結(jié)合多個操作模式:用于完整性保護(hù)的CMAC、用于加密的CTR。每一個LoRaWAN終端具有一個唯一識別的128位AES Key(稱為AppKey)和另外一個唯一標(biāo)識符(EUI-64-based DevEUI),二者都應(yīng)用于設(shè)備識別過程。EUI - 64標(biāo)識符的分配要求申請人從 IEEE 登記機(jī)關(guān)獲得組織唯一標(biāo)識符 (OUI)。同樣地,LoRaWAN網(wǎng)絡(luò)由LoRa 聯(lián)盟分配的24位全球惟一標(biāo)識符進(jìn)行標(biāo)定。

  安全應(yīng)用的負(fù)載

  LoRaWAN? 應(yīng)用負(fù)載的端對端加密發(fā)生在終端設(shè)備和服務(wù)器之間。完整性保護(hù)由跳頻來實現(xiàn): 空中跳頻通過LoRaWAN提供的完整性保護(hù),網(wǎng)絡(luò)和服務(wù)器之間的跳頻通過使用安全傳輸方案如HTTPS和VPNS來實現(xiàn)。

  雙向認(rèn)證:

  空中激活證明了終端設(shè)備和網(wǎng)絡(luò)都具有AppKey的概念。這通過將一個AES-CMAC(使用AppKey)裝載到設(shè)備的加入請求和后端接收器得到證明。兩個會話秘鑰接著進(jìn)行相互認(rèn)證,一個用來提供完整性保護(hù)和LoRaWAN MAC指令和應(yīng)用程序負(fù)載(NwkSKey)的加密,另一個用來提供端對端應(yīng)用負(fù)載(AppSKey)的加密。NwkSKey裝載在LoRaWAN網(wǎng)絡(luò)是為了驗證數(shù)據(jù)包的真實性和完整性。從網(wǎng)絡(luò)運(yùn)營商的角度AppKey和AppSKey可以被隱藏,所以破解應(yīng)用負(fù)載是不可能實現(xiàn)的。

  數(shù)據(jù)完整性和隱私保護(hù):

  LoRaWAN通信使用兩個會話秘鑰進(jìn)行保護(hù)。每個負(fù)載由AES-CTR加密,并且攜帶一個幀計數(shù)器(為了避免數(shù)據(jù)包回放),一個消息完整性代碼(MIC)和AES-CMAC(為了避免數(shù)據(jù)包被篡改)。下圖是LoRaWAN包結(jié)構(gòu)示意圖。

  安全性事實與謬論

  LoRaWAN?設(shè)備的物理安全:

  AppKey和衍生而來的會話秘鑰會持續(xù)的保存在LoRaWAN設(shè)備中,它們的安全性依賴于設(shè)備的物理安全。一旦設(shè)備受到物理損害,這些秘鑰存在防篡改存儲器中從而受到保護(hù),并且很難提取。

  密碼學(xué):

  一些資料指出LoRaWAN?密碼只使用了XOR而并非AES。事實上,如之前所提到的,AES用在了標(biāo)準(zhǔn)化CTR模式,這利用了XOR加密操作(還有CBC等許多其他模式)。這通過給每個分組密碼分配一個惟一的AES碼強(qiáng)化了AES算法。

  會話秘鑰分布:

  由于AppSKey 和NwkSKey從同一個AppKey生成,可以說如果LoRaWAN運(yùn)營商獲得了AppKey,它能夠推導(dǎo)出AppSKey從而解碼網(wǎng)絡(luò)。所以為了避免這種情況的發(fā)生,服務(wù)器要對AppKey的存儲進(jìn)行管理,雙向認(rèn)證和密鑰推導(dǎo)的過程可以由運(yùn)營商以外的實體進(jìn)行操作。為了給運(yùn)營商額外的靈活性,LoRaWAN接下來的新版本協(xié)議(1.1)會定義兩個主秘鑰,一個用于網(wǎng)絡(luò)(NwkKey),一個用于應(yīng)用(AppKey)。

  后端接口安全:

  后端接口包括網(wǎng)絡(luò)和應(yīng)用程序服務(wù)器之間控制和數(shù)據(jù)信號。HTTPS和VPN技術(shù)用于保護(hù)這些關(guān)鍵的基礎(chǔ)設(shè)施元素之間溝通的安全性。

  實現(xiàn)和部署安全:

  LoRa聯(lián)盟一直在確保其協(xié)議和架構(gòu)規(guī)范的安全性,但是解決方案的總體安全性還要依賴于具體的實現(xiàn)和部署方式。所以安全問題需要各個環(huán)節(jié)的配合,制造商、供應(yīng)商、運(yùn)營商都需要參與當(dāng)中。

  注解

  1 AES – 一種高級加密標(biāo)準(zhǔn)。這是一個基于對稱密鑰的加密算法,允許消息加密和身份認(rèn)證。

  2 CMAC - 基于暗碼的消息認(rèn)證碼。

  3 CTR - 計數(shù)器模式加密標(biāo)準(zhǔn)。一種依賴于計數(shù)器的數(shù)據(jù)流加密AES算法的操作模式。

  4 AES-CMAC - 基于暗碼的消息認(rèn)證碼,使用AES加密算法提供消息的完整性和真實性。

  5 CBC是AES算法的一種操作模式,依靠一個初始化向量和前序的數(shù)據(jù)塊進(jìn)行數(shù)據(jù)流的加密?! ?/p>


  最后這個圖是LoRa聯(lián)盟給出的全球部署情況圖,LoRa聯(lián)盟現(xiàn)階段有超過400個會員,全球有超過150個正在進(jìn)行的部署計劃,并且有34個運(yùn)營商的加入。