物聯(lián)網(wǎng) (IoT) 和工業(yè)物聯(lián)網(wǎng) (IIoT) 節(jié)點(diǎn)正逐漸應(yīng)用于安全性越來越高的系統(tǒng)中。在這些系統(tǒng)中,整個(gè)網(wǎng)絡(luò)的安全保障比網(wǎng)絡(luò)上單個(gè)設(shè)備的功能更為重要。這意味著,如果一個(gè)物聯(lián)網(wǎng)節(jié)點(diǎn)發(fā)現(xiàn)自身遭到入侵,或者將會(huì)發(fā)生不可恢復(fù)的固件錯(cuò)誤,則最安全的措施可能是該節(jié)點(diǎn)在可行的情況下盡快關(guān)閉電源,以避免節(jié)點(diǎn)和網(wǎng)絡(luò)可能出現(xiàn)危險(xiǎn)后果。 然而,一旦節(jié)點(diǎn)斷電,所有易失性存儲(chǔ)器的內(nèi)容都將丟失。若將調(diào)試數(shù)據(jù)存儲(chǔ)在 EEPROM 或閃存等非易失性存儲(chǔ)器中,則會(huì)耗時(shí)耗電,增加潛在損壞的風(fēng)險(xiǎn)。此外,如果上電序列也遭到入侵,則系統(tǒng)遭到入侵的程度可能已經(jīng)達(dá)到上電時(shí)回讀數(shù)據(jù)無法再提供可信數(shù)據(jù)。 本文介紹了如何將電子紙顯示屏 (EPD) 輕松連接至物聯(lián)網(wǎng)或工業(yè)物聯(lián)網(wǎng)節(jié)點(diǎn),以顯示最后的已知錯(cuò)誤,從而提供斷電事件原因的可視化指示,以便技術(shù)人員采取適當(dāng)?shù)拇胧?。然后,本文?Pervasive Displays 和 Display Visions 的電子紙顯示屏為例,討論了如何能將這些顯示屏與微控制器連接,并配置為在極少耗電或不耗電的情況下提供診斷信息。
高安全性物聯(lián)網(wǎng)和工業(yè)物聯(lián)網(wǎng)節(jié)點(diǎn)
物聯(lián)網(wǎng)和工業(yè)物聯(lián)網(wǎng)節(jié)點(diǎn)設(shè)計(jì)人員的責(zé)任越來越大,需要采用越來越復(fù)雜的安全方法,保證主機(jī)微控制器的正常運(yùn)行。一般來說,必須防范三種安全威脅:
微控制器固件故障
來自傳感器、鍵盤、串行外設(shè)或其他設(shè)備的無效輸入數(shù)據(jù)
惡意攻擊者的行為
微控制器固件故障可能由多種原因引起:安裝的固件中編碼錯(cuò)誤;導(dǎo)致故障的無效計(jì)算;或者,在極其罕見的情況下,微控制器的硬件故障。通常,編寫良好的固件可通過清理對(duì)子例程和函數(shù)的輸入來檢測故障。在固件被鎖定或陷入循環(huán)的極端情況下,看門狗超時(shí)將通過跳轉(zhuǎn)至錯(cuò)誤控制子例程或執(zhí)行微控制器硬復(fù)位來恢復(fù)固件。 在輸入數(shù)據(jù)無效的情況下,如外部傳感器發(fā)生故障或被篡改,可能會(huì)導(dǎo)致超限數(shù)據(jù),且這些數(shù)據(jù)可能未在應(yīng)用程序代碼中給予適當(dāng)考慮。例如,如果在一個(gè)有人的控制室中,環(huán)境溫度傳感器錯(cuò)誤地記錄了 250°F 的高溫,這可能是傳感器故障或遭到惡意篡改。粗心的固件程序員可能沒有對(duì)如此高的溫度讀數(shù)編碼,這可能導(dǎo)致諸如不正確的數(shù)據(jù)記錄之類的小事,或諸如允許入侵者進(jìn)入安全區(qū)域之類的嚴(yán)重事故,也可能導(dǎo)致會(huì)造成設(shè)備故障或嚴(yán)重人身傷害的關(guān)鍵性控制算法計(jì)算錯(cuò)誤。潛在的負(fù)面結(jié)果很多。 惡意攻擊者的不同之處在于,他們可能有意造成物聯(lián)網(wǎng)節(jié)點(diǎn)故障。黑客攻擊嘗試造成的故障可能會(huì)被安全例程檢測為入侵;但是,也可能偽裝成固件故障或無效的外部輸入數(shù)據(jù)。在示例中,250°F 的環(huán)境溫度讀數(shù)可能是由于惡意攻擊者在如此高的讀數(shù)下測試固件行為,意圖測試入侵方法;例如,如果 250°F 的環(huán)境溫度讀數(shù)被錯(cuò)誤地評(píng)估為火災(zāi),門可能會(huì)自動(dòng)解鎖。
對(duì)固件故障作出反應(yīng)
無論錯(cuò)誤來源是什么,在高安全性物聯(lián)網(wǎng)和工業(yè)物聯(lián)網(wǎng)節(jié)點(diǎn)中,微控制器固件都不能容許出錯(cuò)。任何及所有故障均必須進(jìn)行編碼并加以捕獲。子例程和函數(shù)的輸入必須進(jìn)行清理,所有傳感器輸入數(shù)據(jù)必須進(jìn)行驗(yàn)證??撮T狗定時(shí)器必須進(jìn)行編程,以根據(jù)已知的運(yùn)行時(shí)間檢測耗時(shí)過長的鎖定或循環(huán)代碼。 當(dāng)在高安全性物聯(lián)網(wǎng)或工業(yè)物聯(lián)網(wǎng)節(jié)點(diǎn)中檢測到固件故障時(shí),無論該故障是意外的還是故意的,固件都必須盡快捕獲該事件。常見的操作包括嘗試對(duì)故障進(jìn)行補(bǔ)償。對(duì)于始終超出范圍的故障傳感器,固件可能會(huì)對(duì)該傳感器設(shè)置“跛行模式”,以補(bǔ)償不良數(shù)據(jù),直至可以更換傳感器。若固件例程返回錯(cuò)誤結(jié)果,則可能會(huì)重新進(jìn)行初始化。通常,在網(wǎng)絡(luò)上發(fā)送錯(cuò)誤代碼,以將問題通知網(wǎng)絡(luò)主機(jī)。 不過,在一些高安全性物聯(lián)網(wǎng)或工業(yè)物聯(lián)網(wǎng)節(jié)點(diǎn)中,存在一類特殊的故障,對(duì)于這些故障不能或不應(yīng)進(jìn)行補(bǔ)償或采取對(duì)策。這可能包括物理篡改檢測、內(nèi)部校驗(yàn)和失敗、一些內(nèi)置自檢 (BIST) 失敗,以及任何可能由受損的固件或黑客入侵系統(tǒng)引起的故障。對(duì)于這些高安全性的情況,唯一的選擇可能是立即安全地關(guān)閉節(jié)點(diǎn)的電源。當(dāng)節(jié)點(diǎn)未能響應(yīng)網(wǎng)絡(luò)請(qǐng)求時(shí),網(wǎng)絡(luò)主機(jī)將確定節(jié)點(diǎn)已斷電。如果節(jié)點(diǎn)在未向主機(jī)發(fā)送錯(cuò)誤報(bào)告的情況下斷電,并且如果節(jié)點(diǎn)忽略重新啟動(dòng)的網(wǎng)絡(luò)命令,則表示發(fā)生了致命故障,必須派遣技術(shù)人員對(duì)節(jié)點(diǎn)進(jìn)行物理檢查以查明原因。 然而,一旦節(jié)點(diǎn)斷電,所有易失性存儲(chǔ)器和狀態(tài)數(shù)據(jù)將立即擦除。這使得就算有可能診斷關(guān)機(jī)原因,也會(huì)非常困難?;蛘撸陉P(guān)閉節(jié)點(diǎn)電源之前,可以將診斷數(shù)據(jù)存儲(chǔ)至非易失性存儲(chǔ)器,例如 EEPROM 或閃存。而問題是寫入這些類型的內(nèi)存需要時(shí)間,在此期間節(jié)點(diǎn)必須保持活動(dòng)狀態(tài),可能導(dǎo)致額外的損壞。
用電子紙?jiān)\斷致命錯(cuò)誤
EPD 耗電極少,可用于在節(jié)點(diǎn)即將斷電前存儲(chǔ)并顯示錯(cuò)誤和診斷信息。節(jié)點(diǎn)斷電后,EPD 可在沒有任何電源的情況下維持其顯示圖像達(dá)數(shù)天或數(shù)星期之久。通過顯示屏上的信息,技術(shù)人員可以直觀地了解關(guān)斷的原因,從而確定是否可以安全地給物聯(lián)網(wǎng)節(jié)點(diǎn)上電,或者是否應(yīng)將其從網(wǎng)絡(luò)中取出以進(jìn)行詳細(xì)分析。 Pervasive Displays 的 E2271CS091 EPD 模塊就是一個(gè)適用于顯示診斷信息的 EPD 示例。該模塊可通過 SPI 串行接口連接至任何兼容微控制器,并且?guī)в幸粔K 2.71 英寸 (in.) 高對(duì)比度顯示屏(圖 1)。
E2271CS091 EPD 模塊使用有源矩陣薄膜晶體管 (TFT) 顯示屏,原生分辨率為 264 x 176 像素,每英寸 117 個(gè)像素點(diǎn) (dpi)。這允許顯示屏包含大量信息,以協(xié)助技術(shù)人員進(jìn)行診斷。防眩光屏幕具有近 180? 的寬視角,方便在不尋常的安裝位置輕松查看顯示內(nèi)容。該 EPD 需要 3.0 V 的電源。 主機(jī)微控制器通過顯示屏的 24 針帶狀連接器上的 SPI 接口向 EPD 發(fā)送數(shù)據(jù)。這種 SPI 數(shù)據(jù)通信僅僅是單向的,即從主機(jī)微控制器到 EPD。若要從 EPD 傳送回主機(jī)微控制器,唯一通信方式是帶狀連接器上的“設(shè)備忙”引腳,這大大簡化了接口,并提高了所顯示診斷數(shù)據(jù)的可信度。 如果檢測到錯(cuò)誤或黑客攻擊,并且錯(cuò)誤嚴(yán)重到需要關(guān)閉節(jié)點(diǎn),則必須首先通過固件、看門狗或其他方法捕獲錯(cuò)誤。然后,必須將控制權(quán)移交給向 EPD 發(fā)送數(shù)據(jù)的錯(cuò)誤日志記錄例程。該錯(cuò)誤日志記錄例程應(yīng)該是最高優(yōu)先級(jí)的任務(wù),以防止數(shù)據(jù)中斷或損壞。為了實(shí)現(xiàn)最大的可靠性,建議該錯(cuò)誤日志記錄例程應(yīng)為完全自足式,不調(diào)用外部子例程或函數(shù)。理想情況下,錯(cuò)誤日志記錄例程應(yīng)位于永久寫保護(hù)閃存中,以確保代碼的完整性,即使是在固件更新之后。 在用錯(cuò)誤數(shù)據(jù)更新 EPD 之前,主機(jī)微控制器應(yīng)先通過 SPI 接口向 EPD 發(fā)送軟復(fù)位命令,以清除顯示內(nèi)容。然后,它以一系列字節(jié)序列發(fā)送黑白顯示信息,字節(jié)中的每一位都代表 EPD 上的像素。序列完成后,錯(cuò)誤日志記錄例程即可關(guān)閉微控制器。不同制造商的微控制器有不同的關(guān)閉方式,因?yàn)檫@取決于架構(gòu)和制造商。在某些情況下,出于安全考慮,制造商可能會(huì)有未說明的微控制器關(guān)閉方式,只能應(yīng)請(qǐng)求提供?;蛘?,可以使用外部電路來中斷微控制器的電源;但是,這會(huì)增加系統(tǒng)的復(fù)雜性,從而導(dǎo)致可靠性降低。因此,微控制器的固件關(guān)斷控制是最佳選擇。 為了幫助使用 EPD 進(jìn)行開發(fā),Pervasive Displays 提供了 B3000MS034 EPD 擴(kuò)展套件(圖 2)。該套件有一個(gè)擴(kuò)展板,帶有一個(gè)用于該 24 針 EPD 顯示屏的連接器,并且還有一些連接器可用于其他需要 40 針和 26 針連接器的 Pervasive Displays EPD。該擴(kuò)展板兼容 Texas Instruments 的 LaunchPad 開發(fā)和評(píng)估工具套件,但也可以與其他開發(fā)工具套件搭配使用。20 針橋接電纜可以連接到 20 針 90? 針座連接器,而當(dāng)焊接到擴(kuò)展板時(shí),可在開發(fā)期間監(jiān)測發(fā)送至 EPD 的控制信號(hào)。
另一個(gè) EPD 選擇是 Display Visions 的 EA EPA20-A(圖 3)。
該 EPD 帶有一塊 172 x 72 灰階顯示屏,并且同樣使用 SPI 接口與主機(jī)微控制器通信。該 EPD 的功耗極低,需要一個(gè) 3.3 V 單電源,并且在顯示內(nèi)容變換期間僅消耗 40 毫瓦 (mW) 的功率。Display Visions 的 EA EPA20-A EPD 也可以不加電而保持顯示內(nèi)容。
總結(jié)
高安全性物聯(lián)網(wǎng)和工業(yè)物聯(lián)網(wǎng)節(jié)點(diǎn)有時(shí)必須關(guān)閉電源,以應(yīng)對(duì)致命的固件錯(cuò)誤或檢測到的威脅。這可能導(dǎo)致丟失所有易失性數(shù)據(jù),包括主機(jī)微控制器的內(nèi)部狀態(tài)。但是,狀態(tài)和診斷數(shù)據(jù)可以在關(guān)斷前發(fā)送至連接的 EPD,并顯示數(shù)天或數(shù)周時(shí)間。這樣便可為技術(shù)人員提供所需的信息,讓他們能夠確定關(guān)斷的原因并在必要時(shí)采取未來的預(yù)防措施,以保護(hù)和確保節(jié)點(diǎn)及網(wǎng)絡(luò)的安全。 作者:Bill Giovino 來源:Digi-Key
原文標(biāo)題:使用電子紙顯示屏,指示關(guān)鍵物聯(lián)網(wǎng)節(jié)點(diǎn)中的致命錯(cuò)誤和安全受損情況
文章出處:【微信公眾號(hào):電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
微控制器
+關(guān)注
關(guān)注
48文章
7458瀏覽量
150858 -
電子紙顯示器
+關(guān)注
關(guān)注
0文章
7瀏覽量
6678
原文標(biāo)題:使用電子紙顯示屏,指示關(guān)鍵物聯(lián)網(wǎng)節(jié)點(diǎn)中的致命錯(cuò)誤和安全受損情況
文章出處:【微信號(hào):elecfans,微信公眾號(hào):電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論