
物聯網的核心是建立一個萬物感知、萬物互聯、萬物智能的網絡,驅使全球各行各業向數字化和智能化轉型。正如硬幣有正反兩面,物聯網在驅動全行業數字化的同時,也帶來了物聯網技術應用的安全風險,據Gartner分析預測,到2020年,企業發現的攻擊中超過25%涉及物聯網。
(注:引自Gartner 2017年IoT分析報告,https://www.gartner.com/imagesrv/books/iot/iotEbook_digital.pdf)
隨着物聯網業務越來越多的進入落地運營階段,客戶也明顯認識到物聯網安全的重要性,全球各行業在物聯網安全的支出也越來越高。由於不同的商業應用面臨的安全威脅差異巨大,物聯網安全也從單一的產品安全,逐步走向端到端解決方案,並從端到端解決方案安全提升到整個架構的安全。通過不斷演進的安全架構,來滿足未來更多新的商業場景,如智慧農業、智慧城市、智慧交通等。因此,華為憑借在互聯網、運營商網絡多年的安全技術和經驗積累,圍繞端、管、雲和應用構築領先的物聯網安全解決方案防護體系架構。今天我們就將為大家詳細講述其中的幾種安全方案。
-----------一機一密設備安全接入-----------
一機一密安全接入方案適用於MQTT設備的接入鑒權。所謂一機一密,即物聯網平台會為每一個MQTT設備分配唯一的密鑰信息,設備在燒錄時,將該密鑰信息提前燒錄到設備中。當設備與物聯網平台進行連接時,物聯網平台對設備接入時攜帶的密鑰信息進行認證,認證通過后,設備與物聯網平台之間才能建立連接和傳輸數據。
-
用戶通過應用在物聯網平台上注冊設備,將設備的nodeId(設備的唯一標識,一般為IMEI或MAC地址)信息注冊到平台中。
-
物聯網平台收到注冊信息后,將生成全局唯一的deviceId和secret信息,並在平台進行加密存儲。
-
物聯網平台向設備返回注冊響應,攜帶deviceId和secret信息,用於后續設備的接入鑒權。
-
用戶進行設備的燒錄,將deviceId和secret信息燒錄到設備中。
-
設備(MQTT客戶端)向物聯網平台(MQTT服務端)發起建鏈請求,攜帶deviceId和secret信息。
-
物聯網平台將設備攜帶的deviceId和secret信息與平台存儲的信息進行鑒權認證,鑒權通過后,允許設備與物聯網平台之間建立MQTT連接。
-
設備與物聯網平台之間通過建立的MQTT連接進行數據傳輸。
-----------DTLS+數據安全傳輸-----------
DTLS+加密方案,適用於建立NB-IoT設備的安全傳輸通道。在與物聯網平台之間進行消息交互時,會在設備與平台之間建立DTLS+(Datagram Transport Layer Security,數據報傳輸層安全性協議)通道,對設備與物聯網平台之間的數據傳輸通道進行加密。相比傳統的DTLS協議,DTLS+在會話協商等方面做了優化,減少了終端與物聯網平台通信過程中的握手次數,從而延長終端電池的使用壽命。下面我們就來看看NB-IoT設備詳細的接入過程。
-
設備廠商批量燒錄PSK到設備中,用於設備接入時的DTLS建鏈。
-
用戶通過應用在物聯網平台上注冊設備,將設備的nodeId(設備的唯一標識,一般為IMEI或MAC地址)和PSK信息注冊到平台中。當然,用戶也可以選擇先在物聯網平台上注冊完設備后,再將注冊的PSK燒錄到設備中。
-
物聯網平台將應用注冊的設備信息在平台上進行加密存儲,用於后續DTLS建鏈和設備的接入鑒權。
-
注冊完成后,物聯網平台會向設備返回注冊響應消息。
-
設備接入物聯網平台,發起DTLS建鏈請求,請求消息中攜帶nodeId和PSK。其中,PSK用於與平台存儲的PSK進行校驗,校驗通過后,保留會話信息(源/目的IP地址、源/目的端口號、協議類型),建立DTLS鏈接成功。DTLS+是在DTLS的基礎上,引入Resume_ID,在后續的交互過程中,通過Resume_ID即可建立DTLS鏈路,而不需要重新協商,可以大大減少協商過程中的消息交互次數,達到設備省電的目的。nodeId用於設備的身份認證,只有設備攜帶的nodeId與平台存儲的一致,才允許設備的接入。
-
通過DTLS鏈路,設備上報數據和應用下發命令的傳輸通道,均為加密通道,從而保障了設備與平台、應用交互的過程中,數據不會被非法竊取。
-----------X.509數字證書安全認證-----------
數字證書是由CA(Certificate Authority)機構發行的一種電子文檔,是一串能夠表明網絡用戶身份信息的數字,提供了一種在計算機網絡上驗證網絡用戶身份的方式。數字證書可以校驗對方身份的合法性,還可以協商數據加密密鑰,對交換的數據進行加密,同時還可以通過數字摘要校驗數據的完整性。在物聯網平台中,數字證書校驗用戶身份主要用於以下場景:
-
MQTT設備接入:MQTT設備接入時,采用加密的MQTTS協議,設備側需要校驗物聯網平台的合法性,同時協商數據傳輸的加密密鑰。
-
應用調用API接口:應用調用物聯網平台的API接口時,采用加密的HTTPS協議,應用需要校驗物聯網平台的合法性,同時協商數據傳輸的加密密鑰。
-
設備數據推送:物聯網平台向應用推送訂閱的設備數據時,采用加密的HTTPS協議,物聯網平台需要校驗應用的合法性,同時協商數據傳輸的加密密鑰。
首先我們來看下網絡用戶身份真實性的校驗過程:
-
Client A預置CA機構頒發的CA根證書(包含了CA公鑰),然后向Server B發起建鏈請求,以明文的方式發送隨機數RandomC、SSL版本、支持的加密算法等信息。
-
Server B向Client A以明文的方式返回服務器證書、隨機數RandomS和協商后的加密算法。服務器證書是用CA機構的CA私鑰進行加密的,包含了服務器的公鑰信息。
-
Client A獲取到Server B返回的服務器證書后,驗證證書的合法性。Client A用CA根證書對服務器證書進行解密,獲得證書的有效期、公鑰、摘要(Hash值X)等信息,Client A通過Hash算法計算證書內容,得到Hash值Y,然后比較Hash X和Hash Y的一致性,如果一致,則驗證了Server B的真實性。證書校驗完成后,Client A會生成隨機數PreMaster Key,然后根據獲取的三個隨機數(RandomC、RandomS和PreMaster Key)和協商后的加密算法生成一個會話密鑰,該會話密鑰用於后續的數據加密。
注:可能有人會問,為什么還需要一個額外的隨機數來生成會話密鑰。因為客戶端與服務端在交換RandomC和RandomS的過程中,都是明文的方式在進行通信,很有可能被不法分子竊取。因此通過這兩個隨機數計算出的會話密鑰是不安全的,所以引入了第三個隨機數PreMaster Key,該隨機數在傳遞過程中,都是密文形式,即使被竊取,沒有私鑰也是解密不了的。然后在通過這三個隨機數生成一個會話密鑰,安全性就大大增加,破解的難度就更高了。
-
Client A用從Server B獲得的公鑰,對PreMaster Key進行加密,並以密文的形式發送給Server B。
-
Server B獲取到使用自己公鑰加密后的密文后,使用自己的私鑰對密文進行解密,得到隨機數PreMaster Key,然后根據獲取的三個隨機數(RandomC、RandomS和PreMaster Key)和協商后的加密算法生成一個會話密鑰。
-
Server B會將握手消息通過Hash算法得到一個Hash值,然后使用計算生成的會話密鑰進行加密,以密文的形式發送給Client A。
-
Client A通過生成的會話密鑰,對密文進行解密並計算握手消息的Hash值,計算的Hash值與解密獲得的Hash值一致,表明密文是沒有被修改過的。至此,Client A和Server B的SSL握手結束。
-
后續Client A與Server B的通信,均通過會話密鑰進行加密后進行傳輸,從而保障了傳輸過程中的數據安全。
-----------平台數據隱私保護處理-----------
華為物聯網平台依據如下圖的個人數據處理基本原則進行用戶數據、設備數據的采集、存儲、處理和銷毀,滿足GDPR(General Data Protection Regulation)法規對個人數據處理的要求。
(1)數據主體的“知情權”
通過華為雲隱私政策提供隱私聲明,包括詳細的個人數據清單、系統收集用的所有個人數據,手機的目的和缺省存留期,幫助數據控制者了解平台個人數據的使用情況。
(2)數據主體的“更正權”
用戶可以通過管理控制台或者API接口更新設備信息,例如更新設備的廠商信息、廠商名稱等,以及新增、更新設備的產品模型信息。
(3)數據主體的“可刪除、被遺忘權”
華為物聯網平台提供個人數據的刪除機制:
-
對於設備靜態數據,如設備注冊信息,控制台和API接口均提供刪除設備的接口。
-
對於設備動態數據,如設備上報的數據,會根據用戶設置的存留期進行處理,超過存留期則永久性刪除。
(4)提供適當的安全保護措施
-
個人數據的訪問控制機制,租戶之間相互隔離,只有授權的帳號才能訪問個人、設備的數據,文件的管理權限采用最小權限原則設置。
-
敏感數據的加密存儲,對於個人、設備的敏感數據,如密鑰、GPS位置信息等敏感數據進行加密存儲。
-
個人數據匿名化處理,物聯網平台支持用戶導出個人數據,在導出數據時,對於個人敏感數據,如帳號、IMEI、GPS位置信息等數據進行匿名化處理。
-
提供Web安全防護機制,如防XSS攻擊,防SQL注入攻擊,防CSRF攻擊等,防止通過上述攻擊引起的數據泄露或篡改。
-
提供基本的組網隔離措施,關鍵的數據庫部署在獨立的虛擬機,不同子網之間通過訪問控制策略限制,從組網上提升整個系統安全性。
后記
物聯網平台的安全能力構築是一個端到端的系統工程,華為正在圍繞端、管、雲和應用,不斷構築和提升端到端的安全架構和能力,如DICE安全設備接入、HIDS主機安全、異常設備檢測/隔離等安全能力。后續也會逐步上線相關的物聯網安全服務,敬請關注華為雲物聯網平台官網首頁或華為IoT雲服務微信公眾號。
關於華為物聯網可參加學習免費課程視>>>>>《IoT七天開發訓練營》或聯系華為IoT小助手(微信號:huawei-iot)獲取更多課程。