華為云計算 云知識 物聯(lián)網(wǎng)平臺安全如何破?
物聯(lián)網(wǎng)平臺安全如何破?

物聯(lián)網(wǎng)的核心是建立一個萬物感知、萬物互聯(lián)、萬物智能的網(wǎng)絡(luò),驅(qū)使全球各行各業(yè)向數(shù)字化和智能化轉(zhuǎn)型。正如硬幣有正反兩面,物聯(lián)網(wǎng)在驅(qū)動全行業(yè)數(shù)字化的同時,也帶來了物聯(lián)網(wǎng)技術(shù)應(yīng)用的安全風(fēng)險,據(jù)Gartner分析預(yù)測,到2020年,企業(yè)發(fā)現(xiàn)的攻擊中超過25%涉及物聯(lián)網(wǎng)。

隨著物聯(lián)網(wǎng)業(yè)務(wù)越來越多的進(jìn)入落地運(yùn)營階段,客戶也明顯認(rèn)識到物聯(lián)網(wǎng)安全的重要性,全球各行業(yè)在物聯(lián)網(wǎng)安全的支出也越來越高。由于不同的商業(yè)應(yīng)用面臨的安全威脅差異巨大,物聯(lián)網(wǎng)安全也從單一的產(chǎn)品安全,逐步走向端到端解決方案,并從端到端解決方案安全提升到整個架構(gòu)的安全。通過不斷演進(jìn)的安全架構(gòu),來滿足未來更多新的商業(yè)場景,如智慧農(nóng)業(yè)、 智慧城市 、智慧交通等。因此,華為憑借在互聯(lián)網(wǎng)、運(yùn)營商網(wǎng)絡(luò)多年的安全技術(shù)和經(jīng)驗積累,圍繞端、管、云和應(yīng)用構(gòu)筑領(lǐng)先的物聯(lián)網(wǎng)安全解決方案防護(hù)體系架構(gòu)。今天我們就將為大家詳細(xì)講述其中的幾種安全方案。

-----------一機(jī)一密設(shè)備安全接入-----------

一機(jī)一密安全接入方案適用于MQTT設(shè)備的接入鑒權(quán)。所謂一機(jī)一密,即 物聯(lián)網(wǎng)平臺 會為每一個MQTT設(shè)備分配唯一的密鑰信息,設(shè)備在燒錄時,將該密鑰信息提前燒錄到設(shè)備中。當(dāng)設(shè)備與物聯(lián)網(wǎng)平臺進(jìn)行連接時,物聯(lián)網(wǎng)平臺對設(shè)備接入時攜帶的密鑰信息進(jìn)行認(rèn)證,認(rèn)證通過后,設(shè)備與物聯(lián)網(wǎng)平臺之間才能建立連接和傳輸數(shù)據(jù)。

  1. 用戶通過應(yīng)用在物聯(lián)網(wǎng)平臺上注冊設(shè)備,將設(shè)備的nodeId(設(shè)備的唯一標(biāo)識,一般為IMEI或MAC地址)信息注冊到平臺中。

  2. 物聯(lián)網(wǎng)平臺收到注冊信息后,將生成全局唯一的deviceId和secret信息,并在平臺進(jìn)行加密存儲。

  3. 物聯(lián)網(wǎng)平臺向應(yīng)用返回注冊響應(yīng),攜帶deviceId和secret信息,用于后續(xù)設(shè)備的接入鑒權(quán)。

  4. 用戶進(jìn)行設(shè)備的燒錄,將deviceId和secret信息燒錄到設(shè)備中。

  5. 設(shè)備(MQTT客戶端)向物聯(lián)網(wǎng)平臺(MQTT服務(wù)端)發(fā)起建鏈請求,攜帶deviceId和secret信息。

  6. 物聯(lián)網(wǎng)平臺將設(shè)備攜帶的deviceId和secret信息與平臺存儲的信息進(jìn)行鑒權(quán)認(rèn)證,鑒權(quán)通過后,允許設(shè)備與物聯(lián)網(wǎng)平臺之間建立MQTT連接。

  7. 設(shè)備與物聯(lián)網(wǎng)平臺之間通過建立的MQTT連接進(jìn)行數(shù)據(jù)傳輸。

-----------DTLS+ 數(shù)據(jù)安全 傳輸-----------

DTLS+加密方案,適用于建立NB-IoT設(shè)備的安全傳輸通道。在與物聯(lián)網(wǎng)平臺之間進(jìn)行消息交互時,會在設(shè)備與平臺之間建立DTLS+(Datagram Transport Layer Security,數(shù)據(jù)報傳輸層安全性協(xié)議)通道,對設(shè)備與物聯(lián)網(wǎng)平臺之間的數(shù)據(jù)傳輸通道進(jìn)行加密。相比傳統(tǒng)的DTLS協(xié)議,DTLS+在會話協(xié)商等方面做了優(yōu)化,減少了終端與物聯(lián)網(wǎng)平臺通信過程中的握手次數(shù),從而延長終端電池的使用壽命。下面我們就來看看NB-IoT設(shè)備詳細(xì)的接入過程。

  1. 設(shè)備廠商批量燒錄PSK到設(shè)備中,用于設(shè)備接入時的DTLS建鏈。

  2. 用戶通過應(yīng)用在物聯(lián)網(wǎng)平臺上注冊設(shè)備,將設(shè)備的nodeId(設(shè)備的唯一標(biāo)識,一般為IMEI或MAC地址)和PSK信息注冊到平臺中。當(dāng)然,用戶也可以選擇先在物聯(lián)網(wǎng)平臺上注冊完設(shè)備后,再將注冊的PSK燒錄到設(shè)備中。

  3. 物聯(lián)網(wǎng)平臺將應(yīng)用注冊的設(shè)備信息在平臺上進(jìn)行加密存儲,用于后續(xù)DTLS建鏈和設(shè)備的接入鑒權(quán)。

  4. 注冊完成后,物聯(lián)網(wǎng)平臺會向應(yīng)用返回注冊響應(yīng)消息。

  5. 設(shè)備接入物聯(lián)網(wǎng)平臺,發(fā)起DTLS建鏈請求,請求消息中攜帶nodeId和PSK。其中,PSK用于與平臺存儲的PSK進(jìn)行校驗,校驗通過后,保留會話信息(源/目的IP地址、源/目的端口號、協(xié)議類型),建立DTLS鏈接成功。DTLS+是在DTLS的基礎(chǔ)上,引入Resume_ID,在后續(xù)的交互過程中,通過Resume_ID即可建立DTLS鏈路,而不需要重新協(xié)商,可以大大減少協(xié)商過程中的消息交互次數(shù),達(dá)到設(shè)備省電的目的。nodeId用于設(shè)備的身份認(rèn)證,只有設(shè)備攜帶的nodeId與平臺存儲的一致,才允許設(shè)備的接入。

  6. 通過DTLS鏈路,設(shè)備上報數(shù)據(jù)和應(yīng)用下發(fā)命令的傳輸通道,均為加密通道,從而保障了設(shè)備與平臺、應(yīng)用交互的過程中,數(shù)據(jù)不會被非法竊取。

-----------X.509數(shù)字證書安全認(rèn)證-----------

數(shù)字證書是由CA(Certificate Authority)機(jī)構(gòu)發(fā)行的一種電子文檔,是一串能夠表明網(wǎng)絡(luò)用戶身份信息的數(shù)字,提供了一種在計算機(jī)網(wǎng)絡(luò)上驗證網(wǎng)絡(luò)用戶身份的方式。數(shù)字證書可以校驗對方身份的合法性,還可以協(xié)商 數(shù)據(jù)加密 密鑰,對交換的數(shù)據(jù)進(jìn)行加密,同時還可以通過數(shù)字摘要校驗數(shù)據(jù)的完整性。在物聯(lián)網(wǎng)平臺中,數(shù)字證書校驗用戶身份主要用于以下場景:

  • MQTT設(shè)備接入:MQTT設(shè)備接入時,采用加密的MQ TTS 協(xié)議,設(shè)備側(cè)需要校驗物聯(lián)網(wǎng)平臺的合法性,同時協(xié)商數(shù)據(jù)傳輸?shù)募用苊荑€。

  • 應(yīng)用調(diào)用API接口:應(yīng)用調(diào)用物聯(lián)網(wǎng)平臺的API接口時,采用加密的HTTPS協(xié)議,應(yīng)用需要校驗物聯(lián)網(wǎng)平臺的合法性,同時協(xié)商數(shù)據(jù)傳輸?shù)募用苊荑€。

  • 設(shè)備數(shù)據(jù)推送:物聯(lián)網(wǎng)平臺向應(yīng)用推送訂閱的設(shè)備數(shù)據(jù)時,采用加密的HTTPS協(xié)議,物聯(lián)網(wǎng)平臺需要校驗應(yīng)用的合法性,同時協(xié)商數(shù)據(jù)傳輸?shù)募用苊荑€。

首先我們來看下網(wǎng)絡(luò)用戶身份真實性的校驗過程:

  1. Client A預(yù)置CA機(jī)構(gòu)頒發(fā)的CA根證書(包含了CA公鑰),然后向Server B發(fā)起建鏈請求,以明文的方式發(fā)送隨機(jī)數(shù)RandomC、SSL版本、支持的加密算法等信息。

  2. Server B向Client A以明文的方式返回服務(wù)器證書、隨機(jī)數(shù)RandomS和協(xié)商后的加密算法。服務(wù)器證書是用CA機(jī)構(gòu)的CA私鑰進(jìn)行加密的,包含了服務(wù)器的公鑰信息。

  3. Client A獲取到Server B返回的服務(wù)器證書后,驗證證書的合法性。Client A用CA根證書對服務(wù)器證書進(jìn)行解密,獲得證書的有效期、公鑰、摘要(Hash值X)等信息,Client A通過Hash算法計算證書內(nèi)容,得到Hash值Y,然后比較Hash X和Hash Y的一致性,如果一致,則驗證了Server B的真實性。證書校驗完成后,Client A會生成隨機(jī)數(shù)PreMaster Key,然后根據(jù)獲取的三個隨機(jī)數(shù)(RandomC、RandomS和PreMaster Key)和協(xié)商后的加密算法生成一個會話密鑰,該會話密鑰用于后續(xù)的數(shù)據(jù)加密。

    注:可能有人會問,為什么還需要一個額外的隨機(jī)數(shù)來生成會話密鑰。因為客戶端與服務(wù)端在交換RandomC和RandomS的過程中,都是明文的方式在進(jìn)行通信,很有可能被不法分子竊取。因此通過這兩個隨機(jī)數(shù)計算出的會話密鑰是不安全的,所以引入了第三個隨機(jī)數(shù)PreMaster Key,該隨機(jī)數(shù)在傳遞過程中,都是密文形式,即使被竊取,沒有私鑰也是解密不了的。然后在通過這三個隨機(jī)數(shù)生成一個會話密鑰,安全性就大大增加,破解的難度就更高了。

  4. Client A用從Server B獲得的公鑰,對PreMaster Key進(jìn)行加密,并以密文的形式發(fā)送給Server B。

  5. Server B獲取到使用自己公鑰加密后的密文后,使用自己的私鑰對密文進(jìn)行解密,得到隨機(jī)數(shù)PreMaster Key,然后根據(jù)獲取的三個隨機(jī)數(shù)(RandomC、RandomS和PreMaster Key)和協(xié)商后的加密算法生成一個會話密鑰。

  6. Server B會將握手消息通過Hash算法得到一個Hash值,然后使用計算生成的會話密鑰進(jìn)行加密,以密文的形式發(fā)送給Client A。

  7. Client A通過生成的會話密鑰,對密文進(jìn)行解密并計算握手消息的Hash值,計算的Hash值與解密獲得的Hash值一致,表明密文是沒有被修改過的。至此,Client A和Server B的SSL握手結(jié)束。

  8. 后續(xù)Client A與Server B的通信,均通過會話密鑰進(jìn)行加密后進(jìn)行傳輸,從而保障了傳輸過程中的數(shù)據(jù)安全。

-----------平臺數(shù)據(jù)隱私保護(hù)處理-----------

華為物聯(lián)網(wǎng)平臺依據(jù)如下圖的個人數(shù)據(jù)處理基本原則進(jìn)行用戶數(shù)據(jù)、設(shè)備數(shù)據(jù)的采集、存儲、處理和銷毀,滿足GDPR(General Data Protection Regulation)法規(guī)對個人數(shù)據(jù)處理的要求。

(1)數(shù)據(jù)主體的“知情權(quán)”

通過華為云隱私政策提供隱私聲明,包括詳細(xì)的個人數(shù)據(jù)清單、系統(tǒng)收集用的所有個人數(shù)據(jù),手機(jī)的目的和缺省存留期,幫助數(shù)據(jù)控制者了解平臺個人數(shù)據(jù)的使用情況。

(2)數(shù)據(jù)主體的“更正權(quán)”

用戶可以通過管理控制臺或者API接口更新設(shè)備信息,例如更新設(shè)備的廠商信息、廠商名稱等,以及新增、更新設(shè)備的產(chǎn)品模型信息。

(3)數(shù)據(jù)主體的“可刪除、被遺忘權(quán)”

華為物聯(lián)網(wǎng)平臺提供個人數(shù)據(jù)的刪除機(jī)制:

  • 對于設(shè)備靜態(tài)數(shù)據(jù),如設(shè)備注冊信息,控制臺和API接口均提供刪除設(shè)備的接口。

  • 對于設(shè)備動態(tài)數(shù)據(jù),如設(shè)備上報的數(shù)據(jù),會根據(jù)用戶設(shè)置的存留期進(jìn)行處理,超過存留期則永久性刪除。

(4)提供適當(dāng)?shù)陌踩Wo(hù)措施

  • 個人數(shù)據(jù)的訪問控制機(jī)制,租戶之間相互隔離,只有授權(quán)的帳號才能訪問個人、設(shè)備的數(shù)據(jù),文件的管理權(quán)限采用最小權(quán)限原則設(shè)置。

  • 敏感數(shù)據(jù)的加密存儲,對于個人、設(shè)備的敏感數(shù)據(jù),如密鑰、GPS位置信息等敏感數(shù)據(jù)進(jìn)行加密存儲。

  • 個人數(shù)據(jù)匿名化處理,物聯(lián)網(wǎng)平臺支持用戶導(dǎo)出個人數(shù)據(jù),在導(dǎo)出數(shù)據(jù)時,對于個人敏感數(shù)據(jù),如帳號、IMEI、GPS位置信息等數(shù)據(jù)進(jìn)行匿名化處理。

  • 提供Web安全防護(hù)機(jī)制,如防XSS攻擊,防SQL注入攻擊,防CSRF攻擊等,防止通過上述攻擊引起的數(shù)據(jù)泄露或篡改。

  • 提供基本的組網(wǎng)隔離措施,關(guān)鍵的 數(shù)據(jù)庫 部署在獨立的虛擬機(jī),不同子網(wǎng)之間通過訪問控制策略限制,從組網(wǎng)上提升整個系統(tǒng)安全性。

后記

物聯(lián)網(wǎng)平臺的安全能力構(gòu)筑是一個端到端的系統(tǒng)工程,華為正在圍繞端、管、云和應(yīng)用,不斷構(gòu)筑和提升端到端的安全架構(gòu)和能力,如DICE安全設(shè)備接入、HIDS 主機(jī)安全 、異常設(shè)備檢測/隔離等安全能力。后續(xù)也會逐步上線相關(guān)的物聯(lián)網(wǎng)安全服務(wù),敬請關(guān)注華為云物聯(lián)網(wǎng)平臺官網(wǎng)。