嵌入式視覺中要考慮哪些安全性與保密性問題?
嵌入式視覺 (EV) 系統(tǒng)的廣泛應(yīng)用已經(jīng)是無所不在,高級駕駛員輔助系統(tǒng) (ADAS)、機(jī)器視覺、醫(yī)療成像、增強(qiáng)現(xiàn)實以及眾多其他應(yīng)用等等, 都離不開一個搞笑的嵌入式系統(tǒng)平臺。
本文引用地址:http://m.butianyuan.cn/article/201701/343260.htm然而, 采用 EV 系統(tǒng)雖然能給最終應(yīng)用帶來明顯優(yōu)勢,但也要確保采用該系統(tǒng)后不會造成人身傷亡或財產(chǎn)損失,這對開發(fā)人員來說義不容辭。要做到這點,不僅要考慮設(shè)計的安全性,嚴(yán)格遵循工程壽命周期和公認(rèn)標(biāo)準(zhǔn),還需要考慮 EV 系統(tǒng)的保密性,防止被惡意或其它方式修改。
EV 系統(tǒng)的終端應(yīng)用是安全性和保密性需求強(qiáng)弱的驅(qū)動因素。例如,消費(fèi)類應(yīng)用對于安全性和保密性的要求,就比 ADAS 或機(jī)器視覺系統(tǒng)的要求低得多。
為在這些設(shè)計考慮因素和安全性與保密性要求方面協(xié)助我們,行業(yè)制定了多個知名的國際標(biāo)準(zhǔn)(如 IEC61508),為眾多要求功能安全性的電子系統(tǒng)保駕護(hù)航。另外,還有更多專用標(biāo)準(zhǔn),例如用于汽車應(yīng)用的 ISO26262、用于機(jī)器設(shè)備的 IEC62061 和用于飛行應(yīng)用的 DO178/DO254。此外,根據(jù)最終市場的情況,商業(yè)應(yīng)用也要求 CE、UL 或 CSA 標(biāo)識。這些標(biāo)準(zhǔn)中的每一項都有相應(yīng)的開發(fā)和驗證要求,需要落實在機(jī)構(gòu)的工程設(shè)計和交付生命周期中以確保合規(guī)性。
而 EV 系統(tǒng)的核心是處理內(nèi)核,該系統(tǒng)一般會采用一個 FPGA 或可編程的 SoC,以用于解決目前提出的一系列問題。
這些標(biāo)準(zhǔn)的實際意義是什么?
許多此類安全標(biāo)準(zhǔn)使用不同的名稱定義安全級別,比如 IEC61508 的“安全完整性級別”(SIL)、DO254 的“設(shè)計保障級別”(DAL)和 ISO26262 的“汽車 SIL”(ASIL)。在 SIL、DAL 和 ASIL 內(nèi)包含一系列不同級別,可根據(jù)應(yīng)用的危害程度采用不同的安全級別。一般來說,這些級別是按失效時間(小時數(shù))定義的,正確的說法是“失效時間(小時數(shù))”。雖然這些不同的標(biāo)準(zhǔn)總體上保持一致,但也存在如下差異。
安全標(biāo)準(zhǔn)和不同級別
在開展設(shè)計分析時,會演示如何達(dá)到認(rèn)證要求的級別。工程師習(xí)慣使用時間失效(FIT)率,即失效時間(小時數(shù))的倒數(shù)。在 SIL4 和 DAL A 安全級別下運(yùn)行時,這要求采用正確架構(gòu)的系統(tǒng)來實現(xiàn)這些要求。
系統(tǒng)考慮因素
安全系統(tǒng)的開發(fā)要求出色的系統(tǒng)工程設(shè)計,同時在每個開發(fā)層級上配合明確定義且可跟蹤的要求。
如上所述,工程生命周期由最終應(yīng)用和所需的結(jié)果認(rèn)證共同決定。該生命周期將決定從 EV 系統(tǒng)的概念、生產(chǎn)到處置所采取的總體工程方法。
在這個生命周期內(nèi),您可以定義工程評審門,以控制項目的進(jìn)展。在這些評審中,由獨立技術(shù)專家審核需求、設(shè)計、技術(shù)報告和測試結(jié)果,以確保設(shè)計成熟度足以支撐進(jìn)入到下一階段,或是需要進(jìn)行進(jìn)一步工作來達(dá)到所需的依據(jù)標(biāo)準(zhǔn)要求。
圖 1:交付與工程生命周期示例
工程計劃也要勾勒出每個層級的驗證和確認(rèn)流程,通過履行這一流程獲得達(dá)到適用標(biāo)準(zhǔn)合規(guī)要求的證據(jù)。這可能要求在各種環(huán)境工作范圍、動態(tài)振動與沖擊下測試 EV 系統(tǒng)。您甚至可能必須讓 EV 系統(tǒng)接受加速壽命測試,以確保能夠達(dá)到系統(tǒng)的使用壽命。
當(dāng)涉及到保密性時,您必須考慮一系列方面的因素,即工程師在試圖確保其設(shè)計安全性時面臨的高層次問題。這些方面包括如下:
-競爭對手對設(shè)計進(jìn)行逆向工程操作
-未經(jīng)授權(quán)對設(shè)計的改動
-未經(jīng)授權(quán)訪問設(shè)計中的數(shù)據(jù)
-未經(jīng)授權(quán)控制或操控最終應(yīng)用
有多種方法可供您解決一部分此類難題。您可以使用加密比特流,從而控制對設(shè)計和制造文件的訪問?;蚴悄梢酝ㄟ^限制對最終產(chǎn)品 JTAG 端口的訪問,同時根據(jù)選擇的器件的架構(gòu)采取軟件保密性措施,可以保護(hù)物理設(shè)計。
高質(zhì)量設(shè)計
顯然您需要根據(jù)終端應(yīng)用應(yīng)用考慮選擇什么樣的組件和制造標(biāo)準(zhǔn),以確保您符合應(yīng)用的質(zhì)量要求。在處理內(nèi)核方面,您可以使用賽靈思 FPGA 和 SoC 器件,此類器件既符合標(biāo)準(zhǔn)商用質(zhì)量標(biāo)準(zhǔn)的等級,也符合工業(yè)、汽車、航空航天與軍用等更嚴(yán)苛標(biāo)準(zhǔn)的等級。這樣通過選擇正確的組件等級,工程師團(tuán)隊從一開始就提高質(zhì)量。
另外,還有一系列設(shè)計技術(shù)可供您用于幫助滿足這些標(biāo)準(zhǔn)的嚴(yán)格要求。為了力助確保您滿足可靠性要求(也即常稱的成功概率),在必要時,您可以使用可靠性工程技術(shù)為系統(tǒng)中的各項功能創(chuàng)建可靠性方框圖,并確保避免任何危險的失效模式和單點失效。在設(shè)計自身內(nèi),您可以進(jìn)行失效模式影響與危害性分析 (FMECA)。開展這一分析的層級可視應(yīng)用而定,可以從功能模塊級直至組件級。FMECA 將考慮潛在故障模式、后效和對系統(tǒng)的最終影響,它還將考慮故障是否能被內(nèi)置的自檢和監(jiān)控系統(tǒng)檢測到。如果您要開發(fā)組件級的 FMECA,您就需要考慮設(shè)計中每個組件的部件應(yīng)力分析 (PSA),以確保組件在正確的降額條件下工作。您應(yīng)用的降額水平將取決于選擇的常用標(biāo)準(zhǔn)。標(biāo)準(zhǔn)包括國防部 (Mil-STD 1547) 和歐洲太空總署(ESCC-Q-30-11A)。如果您不進(jìn)行 PSA 分析,就可能在過應(yīng)力情況下使用器件,造成這些器件成為設(shè)備使用壽命的限制因素。根據(jù) FMECA 的預(yù)測,這些器件的失效可能導(dǎo)致也可能不會導(dǎo)致系統(tǒng)的損耗或性能衰減。
在分析可靠性的同時,您還能對系統(tǒng)進(jìn)行威脅分析,根據(jù)使用案例確定系統(tǒng)威脅以及對識別出的威脅可能采取的緩解策略。
架構(gòu)案例分析
在硬件層面,您需要考慮系統(tǒng)功能以及您如何實現(xiàn)功能安全性與保密性。雖然這可以從頭開始實現(xiàn),但更好的方法是選擇已經(jīng)支持這些功能的組件,例如賽靈思 Zynq? All Programmable SoC。
任何 EV 系統(tǒng)的核心都是圖像處理流水線。這要求將高帶寬處理能力與監(jiān)視及控制功能相結(jié)合。相對于傳統(tǒng)的處理器與 FPGA 組合,Zynq 全可編程 SoC 能讓我們擁有緊密集成的架構(gòu)。
這種處理器和邏輯結(jié)構(gòu)之間更緊密的集成不僅能帶來更出色的 SAWP-C 解決方案,由于處理器和邏輯結(jié)構(gòu)之間的交互不對外暴露,不給惡意訪問或其他訪問可乘之機(jī),從而提供更安全的系統(tǒng)。
在電子架構(gòu)內(nèi)部,您可使用 Zynq全可編程SoC 的嵌入式安全架構(gòu)提供安全配置功能。在可編程系統(tǒng) (PS) 和可編程邏輯 (PL) 中,您可使用三段法確保系統(tǒng)分區(qū)的安全性。三段法包括散列消息認(rèn)證代碼 (HMAC)、高級加密標(biāo)準(zhǔn) (AES) 解密和 RSA 認(rèn)證。AES 和 HMAC 都使用 256 位私鑰,而 RSA 使用 2,048 位密鑰。Zynq 全可編程 SoC 的安全架構(gòu)還允許啟用或禁用 JTAG 訪問。
當(dāng)您在為我們的非易失性引導(dǎo)介質(zhì)生成引導(dǎo)文件和配置分區(qū)時,這些安全特性是啟用的。還可以定義一個回滾分區(qū),這樣如果最初的第一階段引導(dǎo)加載程序加載其應(yīng)用失敗,就能回滾到存儲在不同內(nèi)存位置的該應(yīng)用的另一個備份。
在您成功啟動設(shè)備并開始運(yùn)行時,我們可以使用 ARM Trust Zone 架構(gòu)實現(xiàn)正交環(huán)境,限制對 Zynq AP SoC 內(nèi)的硬件功能的訪問,包括可編程邏輯 (PL) 外設(shè)在內(nèi)。您還可以細(xì)分內(nèi)存和 L2 緩存,確保安全環(huán)境和非安全環(huán)境間的交互受到限制。
Zynq AP SoC Secure Boot 和 Trust Zone 實現(xiàn)
如果要在 Zynq AP SoC 的可編程邏輯架構(gòu)中實現(xiàn)圖像處理流水線,您還可以使用 Trust Zone 提供對可編程邏輯架構(gòu)中的 IP 核的安全或非安全訪問。這樣您就能夠使對圖像處理鏈的關(guān)鍵方面進(jìn)行安全訪問,避免發(fā)生對配置的無授權(quán)修改。
圖像處理流水線可使用定制開發(fā)模塊或來自 IP 庫的模塊實現(xiàn)。
部分安全性與保密性實現(xiàn)方案(例如 IEC61508)可能要求彼此隔離設(shè)計元,這可能是建立模塊冗余,區(qū)分安全區(qū)域或測試功能的結(jié)果。通過使用隔離設(shè)計流程 (IDF),您可以在已確認(rèn)區(qū)域間強(qiáng)制實施物理隔離。在使用 Vivado? Design Suite 時,支持對 Zynq 器件開展這種操作。
用于安全關(guān)鍵型 FPGA 的 IDF 強(qiáng)制政策
如果您想在處理鏈或其他控制邏輯中實現(xiàn)多數(shù)表決,隔離設(shè)計流程對您而言就非常有用。使用隔離設(shè)計流程可確保冗余模塊間的唯一互聯(lián)是通過可信路徑實現(xiàn)的。
在實現(xiàn)設(shè)計的時候,您還需要考慮一系列針對器件和工具的設(shè)計考慮因素。當(dāng)然終端應(yīng)用應(yīng)用和您的總體工程管理計劃將決定采用這些技巧的必要性。
-在內(nèi)存上使用檢錯糾錯 (EDAC) 碼。必要時,該功能還可與擦除功能相結(jié)合,定期讀取和糾正內(nèi)存中的數(shù)據(jù),不管應(yīng)用是否正在訪問內(nèi)存。
-在定義控制字時運(yùn)用漢明(Hamming) 碼的不同,增大命令字之間的漢明距離,同時要求實現(xiàn)更多位,有助于提高設(shè)計的可靠性。
-對關(guān)鍵命令使用 ARM 和 FIRE 方法,該方法要求動作關(guān)鍵型功能使用兩個單獨命令。
-在外部通信接口上使用 EDAC 碼
-綜合性內(nèi)建測試(BIT)功能能報告系統(tǒng)的健康狀態(tài)或其他狀態(tài)Zynq XADC 是 BIT 系統(tǒng)功能非常強(qiáng)大的一個組件,因為通過多路復(fù)用器引入外部信號,它能夠?qū)崿F(xiàn)對器件電壓和溫度的監(jiān)測。
總結(jié)
對您的嵌入式視覺系統(tǒng)應(yīng)用正確的功能安全工業(yè)標(biāo)準(zhǔn)是能夠做到的,有相當(dāng)數(shù)量的組件、工具和開發(fā)方法可供系統(tǒng)開發(fā)人員使用。
要確保我們滿足您的 EV 系統(tǒng)的認(rèn)證要求,您需要從設(shè)計之初就開始正確判斷適用標(biāo)準(zhǔn),并生成工程管理計劃,定義工程生命周期,用以收集通過認(rèn)證所需的證據(jù)。
評論