鎖定物聯網設計需要的不僅僅是加密消息傳遞。開發人員需要通過身份驗證,安全會話和安全消息傳遞來擴展底層密鑰的安全性。然而,完整安全鏈的設計,實現和功能方面的復雜性導致許多項目為了成本和時間安排而損害安全性。
然而,這種妥協的需求正在減少部分原因是開發人員可以使用這些設備在物聯網設備和其他深度嵌入式系統中輕松實現全面的安全功能。其中一個器件是Maxim Integrated的MAXQ1061。
此功能將介紹在引入MAXQ1061之前物聯網安全系統如何工作,并展示如何使用它來快速解決傳輸層的安全問題。
安全是物聯網的基礎
在物聯網的愿景背景下,用戶希望應用程序處理數據流,以提供有關用戶,環境和設備的詳細信息。保護這些應用程序并確保數據的完整性和真實性的能力是這一愿景所固有的。然而,廣為人知的對系統和數據的攻擊繼續令人質疑這種能力。因此,對于保護數據和系統的更有效解決方案的興趣迅速增長。
在設備層面,設計人員已經可以找到集成硬件加速器的MCU,使用各種密碼(包括AES)加密和解密數據,SHA和3DES等。然而,數據加密/解密只是使用標準安全協議(如TLS(傳輸層安全))保護物聯網應用所需的一組更大功能中的一部分。
TLS為跨安全通信提供標準協議服務器和客戶端之間的網絡,例如Web瀏覽器和IoT設備。在該協議中,通信作為一系列單獨的安全會話發生,其包括通常為每個單獨會話唯一建立的安全參數。值得注意的是,TLS還包括從一個會話到下一個會話重用會話安全參數的方法,但這些方法可以將IoT應用程序暴露給其他安全威脅,并且不包括在本討論中。
在使用TLS時,客戶端和服務器使用TLS握手協議開始TLS會話(圖1)。這將驗證每個設備到服務器的連接并創建“主密鑰” - 在TLS記錄協議期間共同使用的私有密碼密鑰,用于加密和解密在該會話期間交換的數據。在此握手協議中的每個步驟中,客戶端和服務器通過使用幾種基本安全機制來確保進程的安全性,包括私鑰存儲,真隨機數生成和標準加密/解密算法。
圖1:TLS握手協議依賴于安全機制,包括安全存儲,真隨機數生成和加密,以執行相互身份驗證和創建共享主密鑰所需的一系列步驟,以便使用TLS進行后續數據交換記錄協議。 (圖片來源:維基媒體)
當諸如物聯網設備之類的客戶端需要連接到服務器時,它會通過發送client_hello消息開始TLS握手,該消息包含有關客戶端支持特定TLS的能力的信息方法以及隨機數。服務器響應選擇要使用的TLS方法,其證書(服務器公鑰)以及其他依賴于密碼套件性質和正在使用的安全策略的細節。
例如,雖然Web應用程序通常僅對服務器進行身份驗證,安全的IoT應用程序要求客戶端設備和服務器相互進行身份驗證以減輕諸如中間人攻擊等威脅。如果沒有客戶端身份驗證,未經授權的設備可能會偽裝成合法設備并連接到IoT網絡,為不良參與者提供入口點。為了實現相互身份驗證,服務器將客戶端證書的請求添加到此特定階段。
在握手協商的下一階段,客戶端發送其證書以及先前集合的簽名哈希使用其私鑰創建的消息。服務器使用客戶端證書(設備公鑰)和簽名哈希來驗證請求客戶端設備實際擁有其私鑰。在此過程中,它還會驗證設備對客戶端證書的所有權。在某些情況下,客戶端可能還會發送使用服務器證書(服務器公鑰)創建的預主密鑰。
最后,客戶端和服務器各自使用隨機數(和預主密鑰)如果包括的話)計算“主密鑰”,它用作使用TLS記錄協議進行數據交換的私鑰。通過此過程,TLS握手協議提供了一個安全密鑰,供客戶端和服務器在數據交換期間使用,而無需通過網絡傳遞私鑰。掌握了主密鑰后,客戶端和服務器都會發出握手階段的結束信號,并開始交換消息,使用主密鑰作為密鑰,在特定連接會話期間加密和解密這些消息。
< p>為了在整個過程中保持安全性,客戶端設備和服務器各自都面臨安全存儲秘密的基本要求,包括其各自的私鑰和會話的主密鑰。此外,兩者都需要能夠生成基于可預測的隨機數序列生成來防止攻擊所需的真隨機數。
為了保持性能,客戶端和服務器需要能夠快速執行加密和解密。雖然握手過程本身在很大程度上受網絡性能的限制,但后續數據交換可能受到底層加密速度的限制。
雖然服務器系統通常提供計算能力和保護所需的組合,但物聯網設備開發人員能夠提供這些功能的設計努力滿足這些要求,而不會為最終的物聯網設計增加顯著的成本和復雜性。
Maxim Integrated MAXQ1061等專用加密設備集成了在物聯網設計中實現TLS通信所需的全部功能和功能。
集成安全性
Maxim Integrated MAXQ1061是一種加密控制器,可滿足物聯網設備安全性的一般要求。除安全存儲和加密引擎外,該設備還包括基于硬件安全機制的固件,以實現TLS和其他算法的高級安全措施以及安全啟動等安全方法。
MAXQ1061構建在安全性從最基本的層面開始,在芯片和電路中內置規定以防止側通道攻擊。側通道攻擊借鑒了對設計細節及其性能特征的深入分析。在系統層面,對數據中心進行旁道攻擊的最早例子之一是使用從終端和其他設備發出的電磁輻射的變化來穿透安全性。 TEMPEST安全設施使用物理保護和EM屏蔽來抵御這些威脅。然而,與數據中心不同,物聯網設備很少受到所有可能威脅的物理保護。實際上,由于可以輕松訪問這些設備,不良演員可以在閑暇時使用電源監控,定時,聲學和其他方法來應對各種各樣的側通道攻擊。與許多安全設備一樣,MAXQ1061采用內置于芯片中的一系列對策,并將其集成到電路設計中,以緩解這些各種威脅。
側通道攻擊通常需要先進的實驗室設置和通常可用的分析設備僅限大型企業和國家組織。相比之下,圍繞加密設備構建的設計中破壞安全性的最簡單方法之一是通過截取秘密數據。這可能發生在主機MCU,內存及其加密設備伙伴之間和之間使用的許多階段之一。
黑客尋求以其三種常見狀態中的一種或多種來訪問數據:靜止,在運輸中或在使用中。 MAXQ1061通過提供安全存儲來保護靜態數據并確保秘密數據的任何使用保留在設備本身內,從而消除傳輸或使用中的數據攔截,從而消除了這些攻擊面。憑借其32 KB的集成安全EEPROM,該器件通過靈活的文件系統為所有密鑰,證書和關鍵數據提供存儲,旨在支持自定義安全策略。同時,該設備提供了支持自定義安全實現所需的靈活性,允許開發人員導出主密鑰,例如,在消息處理期間使用。
盡管其他加密設備提供安全存儲, MAXQ1061通過集成執行加密算法和執行更高級協議(如TLS)所需的硬件引擎和固件來實現差異化(圖2)。安全數據永遠不需要離開芯片,有效地移除相關的攻擊面。
圖2:Maxim Integrated MAXQ1061加密控制器集成了安全TLS通信所需的基本安全機制,為開發人員提供了解決復雜安全挑戰的簡單解決方案通信。 (圖像來源:Maxim Integrated)
集成的加密加速器解決了TLS實現中的另一個實際問題。 TLS性能取決于底層加密的速度。 TLS協議部署的本質通常本身通過使用高度安全(但較慢)的非對稱加密來反映這一問題,例如使用TLS握手協議的橢圓曲線數字簽名算法(ECDSA),以及使用較不安全(但更快)的對稱加密,如高級加密標準(AES)與TLS記錄協議。 MAXQ1061支持這種方法,不僅可以加速TLS執行,還可以大大簡化其在物聯網設計中的實現。
加密工具箱內置于MAXQ1061中,將硬件加速加密技術與實現TLS關鍵層的受保護固件相結合。以及SSL(安全套接字層)和DTLS(數據報傳輸層安全性)。在執行TLS握手和TLS記錄協議時,MAXQ1061通過執行與每個操作系列相關的詳細事務來卸載主機MCU(圖3)。對于TLS,設備提供客戶端證書并處理與遠程服務器的身份驗證序列。對于包括TLS記錄交換在內的一般加密要求,該設備使用其集成的硬件AES引擎來加速加密和解密。
圖3:MAXQ1061卸載主機MCU,在TLS握手中執行關鍵序列,并記錄相互認證和后續安全數據交換所需的協議。 (圖像來源:Maxim Integrated)
集成的128位AES引擎設計為直接通過器件的SPI通道工作,通過執行快速流加密和解密來卸載主機處理器。在這種模式下,專用DMA控制器直接通過SPI接口與AES引擎之間傳輸數據,允許動態加密。
該設備提供了一個簡單的硬件和軟件接口,用于集成設備在物聯網設計中使用主機MCU。 Maxim Integrated使用MAXQ1061-KIT評估套件演示了基本的硬件接口(圖4)。如提供的原理圖中所述,該套件支持SPI和I 2 C接口,并顯示用于支持器件喚醒和篡改檢測機制的簡單電路。該套件還提供電路,允許開發人員切換不同的操作模式,并將電路板連接到外部主處理器。
圖4:Maxim Integrated MAXQ1061-KIT評估套件提供基本參考設計,用于集成MAXQ1061,結合SPI和I 2 C接口與基本電路的連接,用于其他設備功能,包括喚醒和篡改檢測。 (圖像來源:Maxim Integrated)
軟件界面
與硬件接口一樣,該設備在軟件方面采用了簡單的方法。在軟件接口的最低級別,設備使用簡單的通信協議通過SPI或I 2 C硬件接口與主機MCU通信。要與設備通信,主機處理器發送格式如下的字節字符串:
AA CMD LENGTH DATA CRC
因此要ping設備,例如,主機MCU將發送以下字節字符串:
AA 00 F7 00 04 00 01 02 03 E1 09
作為響應,設備返回一個類似的字節序列,其中包含以下字段:
< p> 55 ERR_CODE LENGTH DATA CRC
因此,為響應ping請求,MAXQ1061將發送以下字節串:
55 00 00 00 04 00 01 02 03 22 32
當然,Maxim Integrated軟件包將這些低級操作抽象為對所提供的庫和底層應用程序編程接口(API)的一系列功能直觀調用。此外,Maxim Integrated軟件通過在目標平臺內的現有SPI和I 2 C驅動程序上構建其API,進一步簡化了軟件架構(圖5)。
圖5:MAXQ1061軟件包包含一個完整的TLS堆棧,用于利用設備基于硬件的TLS機制并使用基于內置的API每個目標主機平臺的標準設備驅動程序集。 (圖像源:Maxim Integrated)
對于TLS操作,MAXQ1061軟件環境使用經過修改的mbed TLS版本,以利用器件的專用安全功能。對于軟件開發人員,mbed TLS在目標平臺的TCP/IP網絡堆棧之上提供了一個抽象層。
對于有經驗的軟件開發人員來說,使用mbed TLS只需要改變對網絡層的熟悉調用mbed TLS函數調用 - 例如,將對網絡層的讀取調用更改為mbedtls_ssl_read并將調用寫入mbedtls_ssl_write。為了利用MAXQ1061的優勢,經驗豐富的mbed TLS開發人員只需使用Maxim Integrated版本的mbed TLS協議棧。
結論
對于物聯網設備和任何連接系統,能力在面對更復雜的安全威脅時,執行身份驗證和安全通信成為越來越重要的要求。對于開發人員,MAXQ1061和支持軟件提供了一種在其應用中實施基本安全措施的簡單方法。雖然關鍵安全性,高速加密,TLS通信只是全面安全策略的一部分,但MAXQ1061提供了實施更高級別策略所需的安全基礎,以應對新出現的威脅。
-
芯片
+關注
關注
458文章
51434瀏覽量
428868 -
物聯網
+關注
關注
2914文章
45069瀏覽量
378585 -
服務器
+關注
關注
12文章
9374瀏覽量
86309
發布評論請先 登錄
相關推薦
評論