基于MCU的物聯(lián)網(wǎng)應(yīng)用實(shí)現(xiàn)數(shù)據(jù)和設(shè)計(jì)的安全性
掃描二維碼
隨時隨地手機(jī)看文章
作為物聯(lián)網(wǎng)(IOT)的擴(kuò)展,還有在如何維護(hù)由物聯(lián)網(wǎng)設(shè)備傳輸和存儲數(shù)據(jù)的海量增長的擔(dān)憂。微控制器,支持標(biāo)準(zhǔn)的加密,解密和認(rèn)證算法可以幫助減輕對數(shù)據(jù)安全的擔(dān)憂。它也越來越重要的是保護(hù)的IoT設(shè)備從篡改,可以揭示重要的安全信息,如安全密鑰,打敗安全措施。支持密碼保護(hù),篡改檢測等先進(jìn)安全功能的MCU可以防守從這些類型的侵入式攻擊的設(shè)備。
本文將快速查看MCU的主要安全功能,你應(yīng)該尋找在物聯(lián)網(wǎng)為導(dǎo)向的設(shè)計(jì)。一旦你了解一些常見的功能,可以更好地尋找,將提供最適合您的下一個設(shè)計(jì)的實(shí)現(xiàn)。一些范例安全導(dǎo)向設(shè)備進(jìn)行說明,以更好地示出的使用密鑰的安全功能中的IoT的應(yīng)用程序。
物聯(lián)網(wǎng)安全基礎(chǔ)
健身是發(fā)展最快的一套可穿戴設(shè)備的物聯(lián)網(wǎng)應(yīng)用之一。您可以在
鍛煉過程中方便地測量你的心臟速率,保存配置文件數(shù)據(jù),以便更好地規(guī)劃你的鍛煉制度,甚至尋找疾病或壓力的早期征兆。糖尿病的管理可以與方便,可穿戴的IoT設(shè)備可以更容易管理,并很快許多血液相關(guān)測量將經(jīng)由使用高級傳感應(yīng)用非侵入式裝置是可能的。所有這些個人的相關(guān)健康數(shù)據(jù)的可用性是一個福音保持健康,但是管理對數(shù)據(jù)的訪問將是個人隱私至關(guān)重要。您可能不希望每個人都能夠訪問,可以被用作實(shí)時測謊數(shù)據(jù),這只是一個簡單的例子。
所以,如果你想保護(hù)物聯(lián)網(wǎng)的數(shù)據(jù),無論是個人健康數(shù)據(jù)隱私,財(cái)務(wù)信息,甚至只是你的位置在白天,您使用的設(shè)備將需要實(shí)現(xiàn)一些安全措施。幸運(yùn)的是有幾個標(biāo)準(zhǔn)安全算法,并且可用于在傳輸過程中,有效地保護(hù)數(shù)據(jù),并同時存儲在的IoT設(shè)備上的協(xié)議。專用外設(shè)可以幫助實(shí)現(xiàn)一些最有用的安全功能。一些較新的MCU甚至包括片上這些常用功能的實(shí)現(xiàn)。最常見的安全功能相關(guān)的加密信息數(shù)據(jù),因此一個人“在收聽”到數(shù)據(jù)傳輸無法理解的信息,使用只有預(yù)期的收件人知道的秘密密鑰解密的報文數(shù)據(jù),并驗(yàn)證消息數(shù)據(jù)以證明它具有未被篡改由某人冒充授權(quán)發(fā)送者。這些標(biāo)準(zhǔn)的加密功能形成的幾乎所有成功的安全技術(shù)的基礎(chǔ)。
標(biāo)準(zhǔn)的加密功能
某些標(biāo)準(zhǔn)的加密算法用于加密大郵件。已經(jīng)測試了很多年,并已證明這些“大頭密碼”使用的行業(yè)標(biāo)準(zhǔn)是非常,非常難以打破。標(biāo)準(zhǔn)批量密碼,你應(yīng)該尋找支撐物聯(lián)網(wǎng)的安全性包括DES和TDES,(仍在使用兩個最古老的密碼)和AES-128 / -192 / -256(一個更強(qiáng)大的現(xiàn)代化的密碼)。認(rèn)證有關(guān)的安全算法使用一個CRC式的方法來處理,并附加一個消息“摘要”中可以包含,從修改保護(hù)它在該消息中(任何改變消息將“無效”的摘要提醒接收機(jī),該消息已被篡改)。標(biāo)準(zhǔn)認(rèn)證算法包括SHA-1 / -256,MD-5,AES-GCM和HMAC。
現(xiàn)代的MCU已開始包括硬件加速器,典型地在專門的外圍設(shè)備的形式,以簡化并加快敏感數(shù)據(jù)或者用于存儲或傳輸?shù)奶幚?。例如?u>Microchip的PIC32MZ嵌入式連接的家庭(包括PIC32MZ1024ECH100-I / PT)的硬件加密引擎,可加速常用的加密功能。該加密引擎的框圖如圖1所示。專用加密處理器的AES,TDES,SHA,MD5和,看到右側(cè)的框圖,通過使用本地加密有限狀態(tài)機(jī)(FSM)的管理數(shù)據(jù)和讀與寫的數(shù)據(jù)包存儲。一個DMA控制器和雙FIFO存儲器提供額外的本地存儲到可以很容易地獨(dú)立地處理數(shù)據(jù)為CPU。這提高了整個系統(tǒng)的性能,并釋放來管理更高級別的功能的CPU。
形象
圖1:Microchip的PIC32MZ MCU標(biāo)準(zhǔn)加密功能。 (Microchip的提供)
各種加密引擎的性能示于圖1右側(cè)的,并且可以用來匹配為特定IoT-面向應(yīng)用的帶寬要求。請注意,Microchip的PIC32MZ可以實(shí)現(xiàn)超過700 Mbps的,即使是最復(fù)雜的算法,使得它非常適合于設(shè)備需要在實(shí)時或存儲數(shù)據(jù),然后需要迅速卸載數(shù)據(jù)設(shè)備發(fā)送大量的數(shù)據(jù)集,在幅度之內(nèi)的聚集或存儲設(shè)備,這兩個常見的物聯(lián)網(wǎng)高端身打扮和智能數(shù)據(jù)匯聚中心的方法。
安全外設(shè)
在一些的IoT應(yīng)用中,可能更有效地使用的外圍設(shè)備來管理密碼功能和存儲安全密鑰。這是特別有用的,如果該應(yīng)用程序的最好MCU沒有任何內(nèi)置加密功能。認(rèn)證為本外設(shè)還可以用于在需要消耗品的傳感器,諸如傳感器條或襯墊可佩戴的IoT設(shè)備。低成本外圍可嵌入的消耗品,并保證自耗是從可靠的來源,可以與測量裝置和/或沒有被使用超過允許的(消費(fèi)跟蹤)。
愛特梅爾ATSHA204A-SSHDA-B,例如,提供了安全的認(rèn)證和驗(yàn)證為主機(jī)和客戶端的操作。它實(shí)現(xiàn)了SHA-256哈希算法用于消息認(rèn)證碼(MAC),并基于散列的消息認(rèn)證碼(HMAC)的標(biāo)準(zhǔn)。保證唯一的72位序列號有助于跟蹤單位,而一個4.5KB的EEPROM可用于存儲安全密鑰和數(shù)據(jù)。多個IO選項(xiàng)允許設(shè)備接口來使用UART兼容的單線接口或1 MHz的I2C兼容接口的MCU。在單絲模式,該設(shè)備可以經(jīng)由數(shù)據(jù)信號供電,以簡化其在低成本的消耗品的使用。
為了評估,測試和開發(fā)物聯(lián)網(wǎng)相關(guān)的應(yīng)用愛特梅爾提供一個完整的開發(fā)環(huán)境。如圖2中,ATSHA204或ATAES132卡插座的外圍設(shè)備附加到標(biāo)準(zhǔn)MCU評估板建立一個有效的開發(fā)環(huán)境。
愛特梅爾ATSHA204開發(fā)平臺圖片
圖2:開發(fā)平臺愛特梅爾ATSHA204 CryptoAuthentication器件。 (愛特梅爾提供)
外圍設(shè)備,像ATSHA204A可以用于幾個的IoT相關(guān)的應(yīng)用程序,包括:
防偽驗(yàn)證,一個可拆卸,可更換的,或耗材的客戶是真實(shí)的
通過存儲在引導(dǎo)期間使用,以防止未經(jīng)授權(quán)的修改或解密下載的媒體文件的驗(yàn)證碼保護(hù)固件或媒體
交換會話密鑰由一個同伴MCU的硬件加密引擎使用管理保密通訊渠道
牢固地片上,用于配置,校準(zhǔn),和數(shù)據(jù)的消費(fèi)存儲少量數(shù)據(jù)
檢查和驗(yàn)證用戶密碼和設(shè)置與其他連接子系統(tǒng)的安全交流
使用FRAM存儲器安全微控制器
一些MCU甚至采用先進(jìn)的內(nèi)存技術(shù),創(chuàng)造一個更加安全的存儲方法的安全數(shù)據(jù)。德州儀器MSP430FR5969設(shè)備使用的FRAM存儲片上代碼和數(shù)據(jù)。這種鐵磁內(nèi)存技術(shù)提供更快的讀取和寫入訪問非易失性存儲器比傳統(tǒng)的閃存技術(shù)。因?yàn)樗械牟僮鲾?shù)據(jù)可以存儲在非易失性FRAM沒有性能損失,敏感數(shù)據(jù)需要被功率周期之間保存可以更容易地和安全地管理。事實(shí)上,高級內(nèi)存保護(hù)功能是可用的消除指定內(nèi)存段訪問外部存儲器的可能性。只有經(jīng)過授權(quán)的程序可以訪問這些內(nèi)存段,保護(hù)敏感數(shù)據(jù)不受外部黑客入侵和篡改。
該MSP430FR5969 MCU還提供了AES加速引擎,能夠進(jìn)一步的安全數(shù)據(jù)高速處理。了AES加速器塊,在吹脹圖3中的MCU的框圖的圖所示,處理從168之間循環(huán),以234個周期取決于AES正在處理的“味道”加密功能。對列入當(dāng)?shù)谹ES狀態(tài)記憶和關(guān)鍵內(nèi)存,加速器和使用DMA常見的密碼模式操作中減少了對CPU的干預(yù),從而大幅度提高系統(tǒng)效率。
德州儀器MSP430FR5969 MCU AES加密功能支持的圖像
圖3:TI MSP430FR5969 MCU AES加密功能的支持。 (TI提供)
DMA操作是足夠的智能來實(shí)現(xiàn)通過AES引擎將完整的消息,而無需任何CPU干預(yù)所需的鏈接。多個DMA通道可以被分配和塊密碼操作(其中以處理一個完整的消息許多需要)可以在每個子塊已被處理被自動觸發(fā)和下一個數(shù)據(jù)子塊是可用的。只有在整個消息已被處理只有在CPU需要得到通知。這使得它易于加密功能與常規(guī)功能分離,有助于確保有沒有機(jī)會“泄漏”的密碼信息,可以幫助潛在的黑客。
信托結(jié)構(gòu)和防篡改保護(hù)
的IoT可穿戴設(shè)備很可能是目標(biāo)硬件篡改由于容易獲得對一個接入。不同于傳統(tǒng)的網(wǎng)絡(luò)設(shè)備,如服務(wù)器和交換機(jī),它可以通過限制訪問授權(quán)的人員保護(hù),基于硬件的攻擊,它會很容易買物聯(lián)網(wǎng)設(shè)備,并采用精良的設(shè)備隨意更改,如果回報足夠大。幸運(yùn)的是,MCU廠商都開始加入特定的硬件功能,以幫助檢測和報告篡改事件可能表明黑客正在試圖探測你的MCU以未授權(quán)方式。
飛思卡爾的Kinetis系列MCU(如MK21DX128)有一個專門的防篡改檢測模塊,如圖4,提供安全的密鑰存儲與內(nèi)部和外部入侵和物理攻擊檢測,在左下角顯示。篡改檢測模塊包括幾個關(guān)鍵的篡改檢測功能,包括:
32字節(jié)的安全存儲檢測到篡改事件時復(fù)位
篡改時間寄存器,用于記錄檢測到篡改事件的時間
兩個主動篡改移位寄存器,可以用來檢測硬件篡改事件
多達(dá)10個內(nèi)部篡改來源,包括時間計(jì)數(shù)器溢出;電壓,溫度和時鐘外的范圍;和閃光燈安全禁用和測試模式進(jìn)入
在篡改事件能夠產(chǎn)生中斷多達(dá)8個外部入侵銷
飛思卡爾的Kinetis MCU MK21DX128的圖像
圖4:飛思卡爾的Kinetis MCU MK21DX128框圖。 (飛思卡爾提供)
篡改保護(hù)您的基于MCU的設(shè)計(jì)是一個重要的功能,保護(hù)您的客戶數(shù)據(jù)被竊取。篡改檢測,也可以用于確保代碼的設(shè)計(jì)中,存儲在主機(jī)MCU,不反向工程和被盜的為好。投入多年的發(fā)展努力之后,你想讓它盡可能地困難的對手來復(fù)制你的代碼,以充分利用你的工作沒有支付的費(fèi)用。防篡改保護(hù),可讓您的物聯(lián)網(wǎng)設(shè)備被復(fù)制或克隆,然后投放市場被競爭對手。保護(hù)您的客戶的數(shù)據(jù),以及你的設(shè)計(jì)既能成為一個成功的物聯(lián)網(wǎng)設(shè)計(jì)的關(guān)鍵。
結(jié)論
有許多原因?yàn)槭裁匆褂玫腗CU與物聯(lián)網(wǎng)應(yīng)用先進(jìn)的安全功能是很重要的,并同時實(shí)現(xiàn)數(shù)據(jù)和設(shè)計(jì)的安全性,以確保物聯(lián)網(wǎng)設(shè)備,需要合適的MCU的選擇。只有透徹理解在各種微控制器可用的關(guān)鍵安全功能,可以讓你選擇合適的MCU為您的應(yīng)用。