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