AliOS Things自组织网络安全认证架构概述
摘要: AliOS Things自組織網絡(uMesh)結合阿里云Link ID2設備身份認證平臺為物聯網嵌入式設備提供了自主安全認證授權接入無線mesh網絡的解決方案,并且兼容IEEE802.1X端口控制訪問協議和EAP(RFC3748)擴展認證協議,提供了一種靈活可擴展的安全認證機制框架。
AliOS Things 是 AliOS 家族旗下的、面向 IoT 領域的、輕量級物聯網嵌入式操作系統。 AliOS Things 致力于搭建云端一體化 IoT 基礎設施,具備極致性能、極簡開發、云端一體、豐富組件、安全防護等關鍵能力,并支持終端設備連接到阿里云Link,可廣泛應用在智能家居、智慧城市、新出行等領域。
近年隨著越來越多被曝光的物聯網安全漏洞問題以及遭受到的網絡攻擊,安全將會成為物聯網生態體系要面對的一個尖銳問題,尤其是嵌入式安全因為設備的數量巨大使得常規的更新和維護操作面臨挑戰,而基于云的操作使得邊界安全不太有效。
針對上述物聯網安全的痛點,作為AliOS Things核心組件之一自組織網絡(uMesh)不僅提供了AliOS Things原生自組織網絡能力,本地互聯互通的能力,也將更多的注意力放到了如何保障嵌入式設備能夠自主安全接入自組織網絡,并保證和云端數據通信的完整性和機密性。uMesh具有自組織、自修復、多跳、兼容標準端口網絡訪問控制和擴展認證協議,可擴展多種標準安全認證方式等特性。適用于需要大規模部署且對設備節點有安全性需求的場景,如智能家居,智能照明,及商業樓宇等場景。主要功能特性包括:
無縫支持IPv4 和IPv6
支持WiFi、BLE和802.15.4等通信媒介
支持不同通信媒介間的異構組網
支持樹狀拓撲和網狀拓撲
支持低功耗特性
支持阿里云設備身份認證平臺ID2對接入設備進行安全認證授權
支持AES-128共享對稱密鑰在全網范圍內點對點的數據加密解密
兼容標準IEEE802.1x端口控制協議和EAP擴展認證協議(RFC3748)
阿里云Link ID2設備身份認證平臺
ID2(Internet Device ID),是一種物聯網設備的可信身份標識,具備不可篡改、不可偽造、全球唯一的安全屬性,是實現萬物互聯、服務流轉的關鍵基礎設施。
ID2設備身份認證平臺由互聯網設備,ID2分發中心,云端ID2認證中心和部署在本地或者云端的互聯網服務組成。芯片廠商產線通過調用提供的ID2產線燒錄SDK(可集成到廠商的燒錄工具)完成向ID2分發中心在線的ID2申請,獲取和燒錄。燒錄完成后,可通過調用燒錄回執相關的API來確認是否已經成功燒錄到芯片。具體產線燒錄ID2過程可參考:ID2申請和產線燒錄。
燒錄ID2的同時也會將相應的私鑰(private key)燒錄到芯片內,公鑰(public key)會上傳給云端ID2認證中心,該私鑰可用于解密由云端ID2認證中心下發的加密數據,這種模式可用于實現應用層協議的通道認證或者秘鑰協商。ID2的一個重要應用場景就是連接協議的安全性增強,ID2和各種連接協議(如MQTT,CoAP)結合,為連接提供設備認證和密鑰協商等基礎能力,為整個IoT管理系統提供基礎的安全保障。后面也會介紹利用該安全特性將ID2設備身份認證平臺與AliOS Things自組織網絡節點安全入網相結合。ID2認證平臺系統架構如下:
ID2設備身份認證平臺提供了兩種認證模式:基于挑戰應答模式(challenge-response Based)和基于時間戳(Timestamp-Based),可防止重放(replay)攻擊。以挑戰應答認證模式為例,sp server(業務服務器)作為消息代理(proxy),轉發設備節點和云端ID2認證中心之間的交互消息(默認設備節點已經預置燒錄ID2)。具體認證消息交互流程圖如下:
設備端發送認證請求給sp server,向云端ID2認證中心申請挑戰隨機數(challenge)
sp server調用POP SDK Java API:getServerRandom()從云端ID2認證中心獲取到挑戰隨機數并轉發給終端設備節點
設備節點獲取到挑戰隨機數后,根據預置根ID2,challenge,extra data(可選)作為計算auth code的參數,調用端上提供的TFS API:tfs_id2_get_challenge_auth_code()計算auth code
設備節點將計算出的auth code發送給sp server, 將幫助轉發給云端ID2認證中心
sp server調用POP SDK Java API:VerifyRequest() 與云端ID2認證中心做認證
sp server最后將根據云端ID2認證中心返回的認證結果做相應的業務處理
此外,對于允許接入該sp server服務的設備,ID2能夠確保設備和server之間的雙向認證。即,不僅sp server需要確認該擁有ID2身份信息的設備是否允許接入,同時接入設備也需要確認該sp server是否具有提供認證服務的合法性。通過雙向認證的方式從而可以過濾掉那些雖擁有合法的ID2身份信息,但不屬于sp server所提供服務的范疇內的一些接入設備。不同的廠商可自行定義設備具體的接入sp server方式,這一部分暫時不在本文討論范圍之內。
具體認證過程中sp server所用到的POP SDK API用法可參考相應的sample code:獲取隨機數; 認證請求; 認證請求并加密。終端節點上調用的TFS API可參考相應的API說明,tfs靜態庫的路徑:AliOS-Things/security/tfs/lib.
AliOS Things自組織網絡的安全認證架構
傳統的AAA(Authentication、Authorization、Accounting)服務在部署和配置上都需要額外的專業IT人員操作,而對于像物聯網這樣擁有大量設備節點的場景,手動的為每一個設備節點生成證書顯然有些不切實際。此外,x.509證書不僅需要出廠預置占用較多的flash資源,并且在ASN.1解析和認證過程中的消息傳遞也會消耗大量的MCU資源(根據不同的簽名算法,密鑰協商算法,加密算法而生成的證書的大小各不相同,大一點的證書可能會超過1KBytes),因此對于資源受限的嵌入式設備節點,基于證書的認證方式可能不是一個最優選擇。
ID2設備身份認證平臺是一個更為輕量級的基于身份信息的雙向認證服務平臺,尤其適合硬件資源不足的嵌入式設備的認證方式。認證服務中心云端化也省去大量IT人員的時間來重復相同的部署和配置過程,客戶所需要做的僅僅是調用相應的SDK對接云端ID2認證中心。基于這個優勢,設計自組織網絡(uMesh)的設備節點端安全認證過程時也依托于上述ID2設備身份認證平臺的挑戰應答認證模式。目前新加入的設備節點和已經入網節點之間的認證通信協議兼容標準的IEEE802.1x和EAP擴展認證協議,利用IEEE802.11 WiFi協議標準進行數據傳輸。EAP擴展協議也為后續擴展和兼容多種標準認證方式(如MD5, OTP, TLS等)提供了基本協議框架。
自組織網絡uMesh和ID2設備身份認證平臺結合的安全認證架構框圖如下:
樹莓派3作為直接和AP相關聯的節點充當網絡的Leader角色來創建一個新的自組織網絡并負責分配短地址(16 bits)給后續加入網絡的設備節點,該地址用于在uMesh網絡內通信,同時在樹莓派3上利用iptables建立NAT來相互轉發tun0接口和eth0接口之間的ip數據包(NAT更改ip數據包頭里的源地址),這樣就可以讓uMesh網絡內的節點成功和外網的sp server通信,從而和云端ID2認證中心進行身份認證。
uMesh網絡節點和云端ID2認證中心的安全認證消息交互流程如下:
EAP擴展認證協議框架不僅定義了標準的認證類型(如MD5, OTP, GTC, TLS等),還定義了擴展類型(Expanded Types, type值為254)用來兼容不同的vendor現有的自定義認證方式。EAP-ID2即為基于ID2設備身份認證所設計的一種認證協議用于uMesh自組織網絡節點的安全認證方式之一。詳細的擴展類型包頭格式如下:
總結
兼容IEEE802.1x端口訪問控制協議和EAP擴展認證協議為自組織網絡(uMesh)的安全認證體系提供了更為豐富,更加靈活可擴展的協議認證框架,可以滿足不同客戶現有自定義或者標準的認證流程。目前通過搭建實際測試環境驗證了AliOS Things自組織網絡(uMesh)結合ID2設備身份認證平臺提供對新加入節點做身份信息的認證方案,也為后續大規模的商業場景部署提供了有力支撐。
點擊查看原文
總結
以上是生活随笔為你收集整理的AliOS Things自组织网络安全认证架构概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全新一代人工智能计算引擎MaxCompu
- 下一篇: AliOS Things手势识别应用演示