cookieOptions = {...}; .LoRa 聯盟最新白皮書:LoRaWAN 安全-可為 IoT 應用供應商提供完整的端對端加密 - 3S Market「全球智慧科技應用」市場資訊網

3S MARKET

3S MARKET
2017年3月27日 星期一

LPWAN ( Low Power Wide Area Network) Technology Overview




來源:LoRa Alliance


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

  
LoRaWAN介紹
LoRaWAN是一種低功耗廣域網路協議,可以為IoT、M2M、智慧城市和工業應用等場景,提供低功耗、可移動、安全的雙向通信。LoRaWAN協議為低功耗進行了優化,並且為可支持數以百萬計設備的大型網路結構,進行了特別設計。

LoRaWAN的特點,是可以支持冗餘操作、定位、低成本和低功耗等應用場景。

安全是所有應用場景的基本前提,所以從一開始在LoRaWAN協議中,就對安全性進行了設計。然而安全包含眾多方面,尤其是LoRaWAN的加密機制,需要特殊的解釋。

所以此白皮書,將會對當前LoRaWAN協議的安全性進行說明。首先會針對協議中的安全屬性進行闡述,然後呈現具體的實現細節,最後對一些LoRaWAN安全性上的設計進行解釋。

LoRaWAN安全屬性
LoRaWAN的安全性設計原則,要符合LoRaWAN的標準初衷,即低功耗、低複雜度、低成本和大擴展性。由於設備在現場佈署,並持續的時間很長(往往是數年時間),所以安全考慮一定要全面,並且有前瞻性。

LoRaWAN安全設計,遵循先進的原則:標準的採取,算法的審查,以及端到端的安全機制。接下來我們會對LoRaWAN安全性的基本特性,進行描述:包括雙向認證、完整性校驗和保密機制。

雙向認證作為網路連接的過程,發生在LoRaWAN終端節點與網路之間。這確保只有真正的和已授權的設備,才能與真實的網路相連接。

LoRaWAN的MAC和應用消息,是「生來」經過認證、完整性保護和加密的。這種保護和雙向認證,一同確保了網路流量沒有改變,是來自一個合法的設備,而不是「竊聽者」,或者「流氓」設備。

LoRaWAN安全性,進一步為終端設備和伺服器之間的數據交換,提供了端對端的加密機制。LoRaWAN是為數不多的支持端對端加密的IoT網路技術。

傳統的蜂窩網路中,加密發生在空中接口處,但在運營商的核心網路中,只是把它當做純文本來傳輸的。因此,終端用戶還要選擇、佈署和管理一個額外的安全層(通常通過某種類型的VPN,或應用層加密如TLS來實現)。

但這種方法,並不適合應用在LPWAN技術中,因為這會額外地增加網路功耗、複雜性和成本。

安全策略
之前提到的安全機制,依賴於經過完備測試,和標準化的AES加密算法。加密社區已經對這些算法,進行了多年的研究和分析,並且被美國國家標準技術研究所,認定為適用於節點和網路之間,最佳的安全算法。

LoRaWAN使用AES加密語句,並結合多個操作模式:用於完整性保護的CMAC、用於加密的CTR。每一個LoRaWAN終端具有一個唯一辨識的128位AES Key(稱為AppKey),和另外一個唯一標識符(EUI-64-based DevEUI),二者都應用於設備辨識過程。

EUI - 64標識符的分配,要求申請人從 IEEE 登記機關,獲得組織唯一標識符 (OUI)。同樣地,LoRaWAN網路由LoRa 聯盟分配的24位,全球惟一標識符進行標定。

安全應用的負載
LoRaWAN應用負載的端對端加密,發生在終端設備和伺服器之間。完整性保護由跳頻來實現: 空中跳頻通過LoRaWAN提供的完整性保護,網路和伺服器之間的跳頻,透過使用安全傳輸方案,如HTTPS和VPNS來實現。

雙向認證:
空中激活證明,終端設備和網路都具有AppKey的概念。這透過將一個AES-CMAC(使用AppKey)從裝載到設備的加入請求,和後端接收器得到證明。兩個會話秘鑰接著進行相互認證,一個用來提供完整性保護和LoRaWAN MAC指令,和應用程序負載(NwkSKey)的加密,另一個用來提供端對端應用負載(AppSKey)的加密。

NwkSKey裝載在LoRaWAN網路,是為了驗證數據包的真實性和完整性。從網路服務商的角度,AppKey和AppSKey可以被隱藏,所以破解應用負載,是不可能實現的。

  
數據完整性和隱私保護:
LoRaWAN通信使用兩個會話秘鑰進行保護。每個負載由AES-CTR加密,並且攜帶一個幀計數器(為了避免數據包回放),一個消息完整性代碼(MIC)和AES-CMAC(為了避免數據包被篡改)。下圖是LoRaWAN包結構示意圖。

  
安全性事實與謬論
LoRaWAN設備的實體安全:
AppKey和衍生而來的會話秘鑰,會持續的保存在LoRaWAN設備中,它們的安全性依賴於設備的實體安全。一旦設備受到實體損害,這些秘鑰存在防篡改儲存器中,從而受到保護,並且很難提取。

密碼學:
一些資料指出LoRaWAN密碼只使用了XOR而並非AES。事實上,如之前所提到的,AES用在了標準化CTR模式,這利用了XOR加密操作(還有CBC等許多其他模式)。這通過給每個分組密碼,分配一個唯一的AES碼,強化了AES算法。

會話秘鑰分布:
由於AppSKey 和NwkSKey從同一個AppKey生成,可以說如果LoRaWAN電信服務商獲得了AppKey,它能夠推導出AppSKey從而解碼網路。所以為了避免這種情況的發生,伺服器要對AppKey的儲存進行管理,雙向認證和密鑰推導的過程,可以由運營商以外的實體進行操作。

為了給電信服務商額外的靈活性,LoRaWAN接下來的新版本協議(1.1)會定義兩個主秘鑰,一個用於網路(NwkKey),一個用於應用(AppKey)。

後端接口安全:
後端接口包括網路和應用程序伺服器之間,控制和數據信號。

HTTPS和VPN技術用於,保護這些關鍵的基礎設施元素之間,溝通的安全性。

實現和佈署安全:
LoRa聯盟一直在確保,其協議和架構規範的安全性,但是解決方案的總體安全性,還要依賴於具體的實現和佈署方式。所以安全問題需要各個環節的配合,製造商、供應商、電信服務商都需要參與當中。

註解
1 AES – 一種高級加密標準。這是一個基於對稱密鑰的加密算法,允許消息加密和身份認證。

2 CMAC - 基於暗碼的消息認證碼。

3 CTR - 計數器模式加密標準。一種依賴於計數器的數據流加密AES算法的操作模式。

4 AES-CMAC - 基於暗碼的消息認證碼,使用AES加密算法提供消息的完整性和真實性。
5 CBC是AES算法的一種操作模式,依靠一個初始化向量和前序的數據塊進行數據流的加密。
  
  

最後這個圖是LoRa聯盟,給出的全球佈署情況圖,LoRa聯盟現階段有超過400個會員,全球有超過150個正在進行的佈署計劃,並且有34個電信服務商的加入。 
 

                                                                                                                                                                                                                 

0 comments: