Wi-Fi 連接是許多物聯網 (IoT) 設備的關鍵要求,也是黑客們最喜愛的攻擊目標。薄弱的安全措施會導致設備在持續的網絡通信過程中容易遭到入侵。更糟糕的是,物聯網設備有可能在其生命周期的早期,即設備嘗試加入受信任的網絡時,便淪為攻擊的犧牲品。
利用 Texas Instruments 的雙核無線 MCU,工程師可以輕松地增強物聯網設備在其整個產品生命周期內的安全性,并支持多層端到端安全策略。
安全組件
要保證任何系統的安全性,都采用需要多層方法。盡管在諸多安全措施中,數據加密是最容易想到的,但它只是穩健安全策略的一個方面。類似中間人攻擊的黑帽子方法在經加密的數據交換開始之前很早便已在利用任何可能的漏洞。事實上,安全的主機會對客戶端進行驗證,確保只有經授權的用戶、設備或其他系統才能獲得訪問權。反過來,這些客戶端也會對主機進行驗證,以確認其身份。
這種雙向驗證居于安全應用的核心位置,但它最終依賴于更基礎的機制和策略。首先,密鑰和既有的信任根是任何安全應用的基礎構件。在互聯網上常用的公鑰基礎架構 (PKI) 中,與私人密鑰配對的公鑰提供了必不可少的實體身份驗證。X.509 證書標準在更廣泛的上下文中封裝了建構在證書鏈之上且記錄了身份的實體公鑰,為應用提供了扎實可靠的信任根。
密鑰、加密、X.509 證書和信任根的使用是構建安全應用的必要而充分的條件。基于這些組件構建關鍵系統,并增加中間件和應用級安全協議,便可滿足苛刻的安全要求。但對于大多數應用而言,開發人員只需使用上述組件和某些最佳操作實踐(例如啟動和無線 (OTA) 更新)便能鎖定安全性。
而且,甚至這些“基本”安全組件就代表了其自身的復雜機制和策略組合。對于產品經理,創建復雜的安全組件與專注于應用的差異化功能之間很快就會出現沖突。這種情況下安全措施往往會退居其次,因為物聯網開發人員很少有時間來獲取與精英黑客針鋒相對所需要的知識或經驗。Texas Instruments 無線 MCU 提供了讓上述二者公平競爭的單一器件。
無線 MCU
TI 的無線 MCU 中有一個 CC3220 雙核器件,其中包括一個 ARM Cortex?-M4 內核和一個專用網絡處理器內核,并帶有集成式收發器。該 MCU 提供三種變體:CC3220R、CC3220S 和 CC3220SF。三者均附帶 256 KB 片載 SRAM,用于在器件處于各種低功耗模式期間保持數據。CC3220SF 還集成了 1 MB 閃存,用于實現代碼的原位執行,而將 SRAM 僅用于可寫入數據。獨立的片載 ROM 提供了全套 Wi-Fi 和互聯網邏輯層,從而使網絡處理器無需 M4 內核的介入,便能提供全套連接服務。或許對于物聯網開發人員而言,最重要的是,該器件可運用其嵌入式無線功能及多種片載硬件安全機制,來支持以下所述的各種各樣安全服務。
除了安全連接以外,該 MCU 還提供了大多數物聯網應用所需的全套外設和連接接口。該器件提供了一個四通道 12 位模數轉換器 (ADC)、四個采用 16 位脈沖寬度調制 (PWM) 的定時器、看門狗定時器,以及全套接口,包括多達 27 個 GPIO、8 位并行相機、安全數字 (SD) 卡、SPI、I2C 和 UART 端口,以及 JTAG、cJTAG 和串行線調試 (SWD) 接口。
對開發人員而言,在復雜的設計中使用此器件非常簡單。工程師可在相對簡單的設計中,利用該器件的多個接口選擇來運用其廣泛的功能(圖 1)。TI 通過其 CC3220S LaunchXL LaunchPad 和 CC3220SF LaunchXL LaunchPad 開發套件進一步簡化了物聯網設計實施。除了硬件評估板以外,這些套件還包括一個完整的參考設計,其中包含了硬件原理圖、軟件開發套件 (SDK) 和示例軟件。
圖 1:用于 CC3220 無線 MCU 的 TI LaunchPad 開發套件提供了一套完整的物聯網評估系統,其中包括硬件參考設計和用于實現安全連接的軟件。(圖片來源:Texas Instruments)
安全連接
CC3220 具備全套片載外設,設計要求簡單,更像是一種專為像物聯網這樣的嵌入式應用而設計的集成式 MCU。但與其他高度集成的 MCU 不同,CC3220 針對各種各樣的必要安全組件提供了片上支持,以幫助確保物聯網應用中的端到端安全性。除了用于實現安全驗證和會話安全性的功能以外,該器件的安全機制還能針對所有三種數據狀態提供保護:適用于“靜態數據”的安全存儲;適用于“使用中數據”的防篡改和其他運行時安全措施;以及適用于“傳輸中數據”的安全交換(圖 2)。
圖 2:在 TI CC3220 MCU 中,網絡處理器的固件利用集成的安全硬件來支持各種端到端安全性,覆蓋加密存儲、安全 Wi-Fi 訪問,甚至是嵌入式安全 Web 服務器。(圖片來源:Texas Instruments)
CC3220 MCU 也不同于許多旨在提供低層次安全機制(例如加密和驗證)的 IC。該 TI MCU 基于如安全存儲和硬件加速加密之類集成功能構建而成,可提供全套更高層次的服務,甚至包括嵌入式服務器。例如,該器件使用標準傳輸層安全 (TLS) 協議支持多達 6 個安全套接字,并使用這些套接字提供嵌入式 HTTPS 服務器。為實現安全的驗證和數據交換,該器件的信任根證書目錄提供了一種機制,來幫助確保與其他受信任主機和客戶端的交互。在更廣泛的層面上,開發人員還可以使用該器件為建立信任鏈的關鍵進程構建 TI 信任根。
TI 的 SimpleLink MCU 軟件開發套件 (SDK) 通過一個 API 提供了這些功能,該 API 將受硬件或固件支持的詳細功能抽象為若干簡單的調用。例如,開發人員可通過調用一個 API 例程連接到網絡:
sl_WlanConnect(access_point_name, name_length, MAC_address, security_parameters, optional_enterprise_parameters)
并將 security_parameters 設為器件所支持的標準 Wi-Fi 安全協議之一。
完成連接后,器件可以同樣輕松地提供其更高層次的服務。例如,開發人員可使用一個簡單的調用啟動內部 HTTP 服務器:
sl_NetAppStart(SL_NETAPP_HTTP_SERVER_ID)。
除了 SL_NETAPP_HTTP_SERVER_ID 之外,其他保留的位圖 ID 將會啟動用于 DHCP(動態主機配置協議)、DNS(域名服務器)和 mDNS(多播 DNS)的嵌入式服務器。
類似地,開發人員可使用簡單的 API 調用來運用芯片內集成的基本安全機制。例如,CC3220S 和 CC3220SF 變體均支持將數據作為加密文件存儲在閃存中的增強文件系統(圖 3)。這些 MCU 以透明的方式對數據進行動態加密和解密,并且僅允許通過 API 進行訪問。當在開發期間或在運行時創建了安全文件時,MCU 會創建四個不同的令牌,分別代表不同的訪問權限:完全訪問權(主令牌)、讀/寫訪問權、只寫訪問權和只讀訪問權。
圖 3:TI 的 CC3220S 和 CC3220SF 提供了擴展的安全功能,包括閃存上的安全文件存儲,以及包括鎖定 JTAG 和調試端口的功能在內的擴展型調試安全性。(圖片來源:Texas Instruments)
開發人員通過 API 調用(類似于面向文件的傳統操作)使用此安全功能,只需一個用于相關安全令牌的額外參數。如列表 1 所示,開發人員將 API 調用 (sl_FsOpen) 與用于指示應創建安全文件的標志配合使用,創建了一個新文件。后續打開該文件的調用需要使用提供的令牌 (MasterToken)。要實現更精細的訪問控制,開發人員可使用 API 調用 (sl_FsGetInfo) 來讀取在文件創建期間創建的所有四個令牌。
char* DeviceFileName = "MyFile.txt";
unsigned long MaxSize = 63 * 1024; //62.5K is max file size
long DeviceFileHandle = -1;
_i32 RetVal; //negative retval is an error
unsigned long Offset = 0;
unsigned char InputBuffer[100];
_u32 MasterToken = 0;
// Create a file and write data.The file in this example is secured, without signature and with a fail safe commit
//create a secure file if not exists and open it for write.
DeviceFileHandle = sl_FsOpen(unsigned char *)DeviceFileName,
SL_FS_CREATE|SL_FS_OVERWRITE | SL_FS_CREATE_SECURE | SL_FS_CREATE_NOSIGNATURE | SL_FS_CREATE_MAX_SIZE( MaxSize ),
&MasterToken);
Offset = 0;
//Preferred in secure file that the Offset and the length will be aligned to 16 bytes.
RetVal = sl_FsWrite( DeviceFileHandle, Offset, (unsigned char *)"HelloWorld", strlen("HelloWorld"));
RetVal = sl_FsClose(DeviceFileHandle, NULL, NULL , 0);
// open the same file for read, using the Token we got from the creation procedure above
DeviceFileHandle = sl_FsOpen(unsigned char *)DeviceFileName,
SL_FS_READ,
&MasterToken);
Offset = 0;
RetVal = sl_FsRead( DeviceFileHandle, Offset, (unsigned char *)InputBuffer, strlen("HelloWorld"));
RetVal = sl_FsClose(DeviceFileHandle, NULL, NULL , 0);
列表 1:SimpleLink SDK API 能夠使用熟悉的傳遞令牌(如 MasterToken)或標志(如用于創建安全文件的 SL_FS_CREATE_SECURE)的文件訪問調用,讓開發人員訪問穩健的安全功能,如安全文件訪問。(代碼來源:Texas Instruments)
簡化配置
在開發期間,全面的片載安全功能集大幅加快了創建更堅固耐用的物聯網設備的速度。但在網絡部署期間,如果物聯網設備無法輕松連接到現有的 Wi-Fi 網絡,則大型物聯網應用的推出可能嚴重滯后于計劃。
在針對 Wi-Fi 網絡的典型配置過程中,用戶為設備配置加入網絡所需的網絡名稱和安全憑據。在這一關鍵階段,設備設置和初始化中出現的錯誤步驟可能導致設備無法連接或讓設備容易遭受攻擊。對用戶而言,無論設備的操作功能如何,無法連接的設備都會被視為失敗,而且已被隱蔽侵入的設備將成為入侵用戶的整個設備網絡的方便之門。
相比傳統的網絡產品,物聯網設備配置可能面臨更為嚴峻的困難。只有很少的物聯網設備包含用于提供配置信息的本地顯示屏和鍵盤輸入選件。使用像使用藍牙、NFC,甚至 USB 這樣的帶外方法提供此信息在成本上可能不允許,而且會增加設計的復雜度。最后,大型物聯網應用中過多的設備數量可能導致傳統的配置方法不切實際。相反,將相同的 Wi-Fi 介質同時用于配置和普通操作,則提供了一種極具吸引力的解決方案。
但在實踐中,Wi-Fi 配置存在自身的邏輯和安全挑戰。為簡化用戶的這一步驟,無線業界針對諸如 Wi-Fi 安全設定 (WPS) 之類標準進行了演進。有了 WPS,用戶可輸入一個個人識別碼 (PIN) 或按下一個按鈕(按鈕連接,或 PBC)。
WPS PIN 機制中發現的零日安全缺陷曾令多數采用這種方法的用戶大失所望。相反,一種被稱為 AP 模式的流行方法則使用設備的無線連接向用戶收集安全憑據。這種情況下,設備將臨時充當 Wi-Fi 接入點,建立一個專用網絡。用戶使用其移動設備連接到此網絡,時間長度足夠上傳安全憑據即可。完成此配置步驟后,設備將切換至站模式并使用新提供的憑據訪問無線網絡。
TI 為這些標準配置機制補充了自己的名為 SmartConfig 的專有機制。采用此方法時,用戶只需將網絡名稱 (SSID) 和密碼加載到其移動設備一次即可。附近的任何物聯網設備都可以主動掃描檢測安全的 SmartConfig 廣播,并自動加載廣播中包含的經加密的配置信息(圖 4)。
圖 4:在完整的 TI SmartConfig 流中,用戶將輸入配置信息,從其移動設備激活 SmartConfig 廣播,然后依靠物聯網設備自動查找 SmartConfig 配置數據。(圖片來源:Texas Instruments)
完成后,基于 CC3220 的物聯網設備可使用其嵌入式 Web 服務器來通知用戶,或直接將其狀態上傳到基于云的配置日志。利用此方法,物聯網開發人員可提供無需介入的配置過程,讓信任的物聯網設備找到自己的方法加入安全物聯網應用網絡。
盡管 SmartConfig 有著明顯的優勢,但配置方法的選擇可能還取決于其他多種因素,這些因素可能要求使用更傳統的機制甚至多種方法的組合。TI CC3220 無線 MCU 通過支持多種配置方法提供了需要的靈活性。除了 AP 方法和 SmartConfig 以外,該器件還允許開發人員采用組合 AP 與 SmartConfig 的混合方法。這種情況下,物聯網設備可掃描檢測 SmartConfig 廣播并響應與用戶之間的 AP 類型的交互,或在 SmartConfig 配置失敗的情況下自動切換至 AP 模式(同樣參見圖 4)。
在其支持的任何配置方法中,網絡處理器都會處理包括偵聽 SmartConfig 廣播和加載 SSID 及安全憑據在內的所有進程方面。主機的參與僅限于使用單一命令 WlanProvisioning:
_i16 sl_WlanProvisioning(_u8 ProvisioningCmd, _u8 RequestedRoleAfterSuccess, _u16 InactivityTimeoutSec, char *pSmartConfigKey, _u32 Flags);
ProvisioningCmd 來啟動或(停止)該進程。如此一來,便會允許主機采用受支持的 CC3220 配置方法開始配置,或停止配置進程。以下詳細說明此命令:
RequestedRoleAfterSuccess 指示物聯網設備在成功配置后應切換至站模式還是 AP 模式。
InactivityTimeoutSec 指示設備何時應自動停止不完整的配置進程。
pSmartConfigKey 提供用于在移動端加密配置憑據并在物聯網設備端為其解密的安全密鑰。
Flags:它提供了在進程中使用的具體配置細節。
最后,該調用將返回 STATUS_OK 或各種診斷錯誤消息。
在此進程的移動端,TI 在一組適用于 Java、Android 和 iOS 的庫中提供了其 SmartConfig API,以便開發人員在移動應用中嵌入配置進程。與物聯網設備端一樣,移動應用使用單一命令和 TI SmartConfig 類對象啟動 SmartConfig 廣播(列表 2)。
try {
smartConfig = new SmartConfig(smartConfigListener, freeData, passwordKey, paddedEncryptionKey,gateway, SSID, (byte) 0, "");
} catch (SocketException e) {
Log.e(TAG, "Failed to create instance of smart config");
return;
}
列表 2:移動應用開發人員只需調用一次 TI SmartConfig 庫就能在其智能手機或其他移動設備中調用 SmartConfig 配置。(代碼來源:Texas Instruments)
總結
對物聯網開發人員而言,安全的 Wi-Fi 連接和配置可能存在諸多挑戰,既包括設計成本和復雜性,也包括最終部署。過去,由于上述挑戰,開發人員被迫在應用功能與安全性之間做出艱難取舍。
TI CC3220 無線 MCU 憑借其嵌入式安全連接功能,可大幅簡化設備的設計和部署,使其能夠在物聯網應用中支持穩健的端到端安全性。
-
物聯網
+關注
關注
2914文章
45058瀏覽量
378488 -
WIFI
+關注
關注
81文章
5316瀏覽量
205272 -
cc3220
+關注
關注
0文章
9瀏覽量
2855
發布評論請先 登錄
相關推薦
層峰觀點:預認證Wi-Fi 6模塊助力物聯網開發
移遠通信再擴短距離通信模組版圖:Wi-Fi 7/6、Wi-Fi Halow等六款新品助力無線連接升級

摩爾斯微電子發布Wi-Fi HaLow評估套件,加速物聯網開發
CC3200采用LaunchPad硬件的Simplelink Wi-Fi和物聯網解決方案用戶指南

采用MCU LaunchPad?硬件的CC3235MODSF Simplelink? Wi-Fi?和物聯網解決方案

摩爾斯微電子榮獲2024年WBA行業大獎最佳Wi-Fi創新獎等多項殊榮
全方位性能對比 | 遠距離Wi-Fi VS 傳統Wi-Fi
摩爾斯微電子推出社區論壇與開源GitHub資源庫,新資源的上線將加速全球工程師與開發者的Wi-Fi開發進程
【新品】完整無線解決方案!Wi-Fi6+藍牙5.4雙模Wi-Fi模塊來襲

評論