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