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