本文來自微信公眾號“半導(dǎo)體行業(yè)觀察”。
應(yīng)對網(wǎng)絡(luò)威脅正在成為芯片和系統(tǒng)設(shè)計的一個組成部分,并且更加昂貴和復(fù)雜。
隨著芯片制造商努力解決如何構(gòu)建既設(shè)計安全又具有足夠彈性以在整個生命周期保持安全的設(shè)備,安全性正在設(shè)計流程中左右轉(zhuǎn)移。
隨著越來越復(fù)雜的設(shè)備連接到互聯(lián)網(wǎng)并相互連接,IP供應(yīng)商、芯片制造商和系統(tǒng)公司正在競相解決更廣泛的攻擊面中的現(xiàn)有和潛在威脅。在許多情況下,安全性已經(jīng)從一系列無休無止的軟件補(bǔ)丁升級為硬件/軟件設(shè)計過程中不可或缺的一部分,帶來了越來越豐厚的競爭優(yōu)勢,而對于犯錯的公司來說,監(jiān)管行動的威脅也越來越大。
英飛凌互聯(lián)安全系統(tǒng)部門總裁Thomas Rosteck在最近的一次演講中表示:“每秒就有127臺設(shè)備首次連接到互聯(lián)網(wǎng)。”“到2027年,連接互聯(lián)網(wǎng)和相互連接的設(shè)備數(shù)量將達(dá)到驚人的430億臺。”
這也將帶來巨大的安全挑戰(zhàn)。Arm市場開發(fā)高級總監(jiān)David Maidment指出:“隨著連接的增加和數(shù)字服務(wù)的擴(kuò)展,企業(yè)和消費者越來越擔(dān)心他們的數(shù)據(jù)會發(fā)生什么。”“在過去的五年里,世界各地政府的監(jiān)管已經(jīng)成熟,制造商有責(zé)任滿足越來越多的安全標(biāo)準(zhǔn),以確保這些服務(wù)是可信的、安全的和正確管理的。”
盡管如此,合理且謹(jǐn)慎的安全方法仍包含許多考慮因素。“首先,必須首先了解特定應(yīng)用程序的威脅概況,以及需要保護(hù)的特定資產(chǎn)——數(shù)據(jù)、信息或系統(tǒng),”Synopsys安全I(xiàn)P解決方案總監(jiān)Dana Neustadter表示。“是否有特定的法律、法規(guī)和/或類型的要求會影響該解決方案?換句話說,你必須先做一些功課。您必須能夠回答一些問題,例如產(chǎn)品是否僅關(guān)注基于網(wǎng)絡(luò)的威脅,或者是否存在需要物理訪問的潛在攻擊。是否可以直接通過網(wǎng)絡(luò)訪問該特定產(chǎn)品,或者它是否會受到系統(tǒng)其他部分的保護(hù),例如可以像防火墻一樣提供某種程度的保護(hù)?安全方面的法規(guī)或標(biāo)準(zhǔn)合規(guī)性或可能的認(rèn)證要求是什么?這些資產(chǎn)的價值是多少?”
此外,設(shè)備需要在所有條件和操作模式下都是安全的。“當(dāng)系統(tǒng)離線時,你需要保護(hù)它,因為例如,不良行為者可以更換外部存儲器,或者他們可以竊取IP代碼,”Neustadter說。“他們可以重新刷新設(shè)備。您還需要在加電期間保護(hù)它,并且需要在設(shè)備運行時在運行時保護(hù)它。您需要確保它仍然按預(yù)期運行。那么,在對外交流的時候,你也需要對其進(jìn)行保護(hù)。通常有許多變量會影響安全解決方案,包括特定的應(yīng)用程序。最終,整體安全解決方案需要保持平衡。“安全平衡”包括安全功能、協(xié)議、認(rèn)證等,以及成本、功耗、性能和面積權(quán)衡,因為例如,您無法為電池提供最高級別的安全性-供電設(shè)備。這沒有意義,因為它是一種成本較低的設(shè)備。你確實必須尋找平衡點,所有這些都將影響芯片的適當(dāng)安全架構(gòu)。”
其他人也同意。“當(dāng)我們向設(shè)備引入安全性時,我們采取的第一步是根據(jù)設(shè)備在整個系統(tǒng)中的作用來評估設(shè)備的安全資產(chǎn),”Winbond技術(shù)主管Nir Tasher說道。“當(dāng)我們繪制這些資產(chǎn)的地圖時,我們也在評估這些資產(chǎn)的攻擊潛力。并非所有資產(chǎn)都會立即被識別。調(diào)試和測試端口等功能也應(yīng)被視為資產(chǎn),因為它們可能在系統(tǒng)整體安全性中發(fā)揮作用。一旦映射和評級完成,我們就會評估破壞每項資產(chǎn)的潛在方法以及所涉及的復(fù)雜性。下一步是找到防止這些攻擊的方法,或者至少檢測它們。最后一步顯然是測試最終產(chǎn)品,以確保我們所包含的任何保護(hù)功能都能正常運行。”
設(shè)計確保
安全硬件和系統(tǒng)安全性的重大變化之一是認(rèn)識到它不再是別人的問題。曾經(jīng)是事后才想到的東西現(xiàn)在變成了競爭優(yōu)勢,需要融入到架構(gòu)層面的設(shè)計中。
Rambus安全I(xiàn)P業(yè)務(wù)開發(fā)總監(jiān)Adiel Bahrouch表示:“這一基本原則強(qiáng)調(diào)將安全性集成到芯片設(shè)計開發(fā)流程中,確保從一開始就確定安全目標(biāo)、要求和規(guī)范。”“這種方法要求建立適當(dāng)?shù)耐{模型,識別具有價值并需要保護(hù)的有形和無形資產(chǎn),根據(jù)適當(dāng)?shù)娘L(fēng)險管理框架主動量化相關(guān)風(fēng)險,并正確實施安全措施和控制以減輕風(fēng)險一個可以接受的水平。”
巴魯什表示,除了適當(dāng)?shù)耐{評估之外,考慮整體縱深防御戰(zhàn)略的額外安全原則也至關(guān)重要。這包括信任鏈,其中每一層都提供下一層可以利用的安全基礎(chǔ),以及針對不同用戶、數(shù)據(jù)類型和操作具有不同安全級別的域分離,從而允許針對每個用例優(yōu)化性能和安全性權(quán)衡。在現(xiàn)代系統(tǒng)中,這包括整個產(chǎn)品生命周期的威脅建模,以及分段訪問權(quán)限和最小化共享資源的最小特權(quán)原則。
“預(yù)先定義SoC的安全架構(gòu)至關(guān)重要,”Cadence Tensilica Xtensa處理器IP產(chǎn)品營銷組總監(jiān)George Wall說道。“定義安全架構(gòu)的時間是當(dāng)設(shè)計人員確定SoC的必要功能、饋送和速度等時。盡早做到這一點總是比稍后嘗試“增加安全性”容易得多,無論是在流片前一周還是在生產(chǎn)交付后兩年。”
整體防御遠(yuǎn)遠(yuǎn)超出了硬件的范圍。“如果你想保護(hù)某些東西,即使是在軟件的高抽象級別上,你也可以用Python或任何你選擇的編程語言來完美地做到這一點,”首席嵌入式安全工程師兼微電子解決方案負(fù)責(zé)人Dan Walters說。“但如果它因硬件層面的妥協(xié)而受到破壞,那就沒關(guān)系了。即使您擁有完美的軟件安全性,您也可能會完全破壞整個系統(tǒng)。”
在大多數(shù)情況下,攻擊者會選擇阻力最小的路徑。“對于安全來說,要么全有,要么全無,”沃爾特斯說。“攻擊者只需找到一個缺陷,他們并不真正關(guān)心它在哪里。他們并不是說,‘我想通過破壞硬件來擊敗系統(tǒng),或者我想通過找到軟件缺陷來做到這一點。他們會尋找最簡單的事情。”
最佳實踐
為了應(yīng)對不斷擴(kuò)大的威脅形勢,芯片制造商正在充實他們的最佳實踐清單。過去,安全性幾乎完全局限于CPU的范圍內(nèi)。但隨著設(shè)計變得更加復(fù)雜、聯(lián)系更加緊密、使用壽命更長,需要更廣泛地考慮安全性。西門子EDA Tessent部門產(chǎn)品營銷總監(jiān)Lee Harrison表示,這包括許多關(guān)鍵要素:
安全啟動——硬件監(jiān)控技術(shù)可用于檢查規(guī)定的啟動順序是否按預(yù)期執(zhí)行,以確保硬件和軟件均符合預(yù)期。
證明–與安全啟動類似,功能監(jiān)控可用于生成代表系統(tǒng)中特定IP或IC的硬或軟配置的動態(tài)簽名。這證實了預(yù)期硬件及其配置的準(zhǔn)確性。此方法可用于提供單個身份令牌或系統(tǒng)范圍的令牌集合。該系統(tǒng)基于唯一的簽名,可用于確保應(yīng)用OTA更新的正確軟件版本。至關(guān)重要的是,這是在系統(tǒng)內(nèi)計算的,而不是硬編碼的。
安全訪問–與所有系統(tǒng)一樣,進(jìn)出設(shè)備的通信通道必須是安全的,并且在許多情況下,可以根據(jù)所需訪問的不同級別進(jìn)行配置,其中訪問通常通過信任根進(jìn)行控制。
資產(chǎn)保護(hù)–主動功能監(jiān)控可能是任何縱深防御策略的關(guān)鍵部分。根據(jù)詳細(xì)的威脅分析,在設(shè)備內(nèi)選擇和放置功能監(jiān)視器可以提供低延遲的威脅檢測和緩解。
設(shè)備生命周期管理–現(xiàn)在,在所有安全I(xiàn)C應(yīng)用中,能夠監(jiān)控設(shè)備從制造到退役的整個生命周期的健康狀況至關(guān)重要。功能監(jiān)控和傳感器在監(jiān)控設(shè)備整個生命周期的健康狀況方面發(fā)揮著重要作用。在某些情況下,主動反饋甚至可以通過在可能的情況下對外部方面進(jìn)行動態(tài)調(diào)整來延長IC的有效壽命。
圖1:安全硬件的關(guān)鍵要素。
來源:西門子EDA
不同應(yīng)用程序所部署的最佳實踐可能存在很大差異。例如,汽車應(yīng)用中的安全性比智能可穿戴設(shè)備中的安全性更令人擔(dān)憂。
英飛凌內(nèi)存解決方案執(zhí)行副總裁Tony Alvarez在最近的一次演講中表示:“自主性需要連接性,這會帶來更高的安全性,從而實現(xiàn)自動化,而半導(dǎo)體確實是這里的基礎(chǔ)。”“感知、解釋數(shù)據(jù)、據(jù)此做出決策,這些都在表面之上。這就是你所看到的。系統(tǒng)的復(fù)雜性正在上升,但你看不到表面之下的內(nèi)容,而這正是實現(xiàn)這一目標(biāo)所需的所有部分——整個系統(tǒng)解決方案。”
阿爾瓦雷斯說,該系統(tǒng)包括與云、其他汽車和基礎(chǔ)設(shè)施的通信,所有這些都必須可立即訪問且安全。
其他應(yīng)用程序的安全需求可能非常不同。但確定需要什么的過程是相似的。“首先,分析資產(chǎn)是什么,”華邦的塔舍爾說。“有時沒有。有時,設(shè)備的每個部分都是或包含資產(chǎn)。對于后者,建議從頭開始,但這種情況很少見。映射資產(chǎn)后,架構(gòu)師需要分析這些資產(chǎn)的攻擊向量。這是一個乏味的階段,強(qiáng)烈建議外部咨詢。另一雙眼睛總是一件好事。從架構(gòu)的角度來看,最后一個階段是提出針對這些攻擊的保護(hù)機(jī)制。是的,深入的系統(tǒng)知識在所有這些階段都是必不可少的。”
Arm大力支持在所有連接設(shè)備中納入信任根(RoT),并部署安全設(shè)計最佳實踐作為任何可行產(chǎn)品的基準(zhǔn)。“RoT可以提供必要的可信功能,例如可信啟動、加密、證明和安全存儲。RoT最基本的用途之一是保持帶有加密數(shù)據(jù)的私有密鑰的機(jī)密性,受到硬件機(jī)制的保護(hù),并且遠(yuǎn)離更容易被黑客攻擊的系統(tǒng)軟件。RoT的安全存儲和加密功能應(yīng)該能夠處理設(shè)備身份驗證、驗證聲明以及加密或解密數(shù)據(jù)所需的密鑰和可信處理,”Maidment說。
鑒于很少有芯片設(shè)計是從一張白紙開始的,因此在設(shè)計芯片時應(yīng)考慮到這一點。“每個設(shè)備和每個用例都是獨一無二的,我們必須通過威脅建模來考慮所有系統(tǒng)的需求,”Maidment解釋道。“一些用例需要最佳實踐的證據(jù)。其他人需要防止軟件漏洞,還有一些人需要防止物理攻擊。”
Arm共同創(chuàng)立PSA Certified的工作表明,不同的芯片供應(yīng)商正在尋找自己獨特的賣點,并決定他們想要提供哪種級別的保護(hù)。“很難做到一刀切,但一套商定的通用原則是減少碎片化和實現(xiàn)適當(dāng)安全穩(wěn)健性的重要工具,今天向產(chǎn)品頒發(fā)的179份PSA認(rèn)證證書證明了這一點,”梅德門特指出。
這與幾年前有很大不同,當(dāng)時可以在設(shè)計周期的后期將安全性添加到芯片中。“這不像過去那樣,你可以只增加安全性。你會對芯片進(jìn)行改造,并認(rèn)為無需進(jìn)行任何重大更改即可滿足應(yīng)用程序所需的安全性,”Synopsys的Neustadter說。“根據(jù)上述前提設(shè)計安全解決方案非常重要。然后,您可以在未來的設(shè)計修訂中采用更簡化的流程來更新安全性,例如創(chuàng)建具有信任根的安全環(huán)境來保護(hù)敏感數(shù)據(jù)操作和通信。您可以通過多種方法創(chuàng)建可擴(kuò)展、可擴(kuò)展的安全解決方案,甚至可以在投片后對其進(jìn)行更新,例如通過軟件升級。因此,有一些方法可以將其構(gòu)建到設(shè)計中,然后以更簡化的方式將安全性從一個版本升級到另一個版本。”
安全修復(fù)
幾乎在所有情況下,防止攻擊比提供補(bǔ)丁來修復(fù)攻擊更好。但具體實現(xiàn)方式可能存在很大差異。
例如,F(xiàn)lex Logix首席執(zhí)行官Geoff Tate表示,多家公司正在使用eFPGA來確保安全性,其他公司也在評估它們。“據(jù)我們了解,原因有多種,不同的公司有不同的安全擔(dān)憂,”泰特說。“一些客戶希望使用eFPGA來混淆制造過程中的關(guān)鍵算法。對于國防客戶來說尤其如此。安全算法(即加密/解密)在一個SoC的多個位置實現(xiàn)。性能要求各不相同。為了獲得非常高的持久安全性,它需要在硬件中。由于安全算法需要能夠更新以應(yīng)對不斷變化的挑戰(zhàn),因此硬件需要可重新配置。處理器和軟件可以被黑客攻擊,但黑客攻擊硬件要困難得多,因此在可編程硬件中擁有安全功能的一些關(guān)鍵部分是可取的。”
如果沒有這種內(nèi)置的可編程性,在攻擊后修復(fù)安全問題就會困難得多。通常,這涉及某種類型的補(bǔ)丁,這通常是一種成本高昂且次優(yōu)的解決方案。
“根據(jù)域分離原則,可以考慮以模塊化的方式在現(xiàn)有芯片上添加一個獨立的‘安全島’,使芯片能夠利用安全島提供的所有安全功能,同時對現(xiàn)有芯片進(jìn)行最小的改動”,Rambus的巴魯奇說道。“雖然這不是最有效的解決方案,但可以定制安全I(xiàn)P以滿足安全要求和總體安全目標(biāo)。盡管面臨挑戰(zhàn),但不一定需要立即為每個功能利用嵌入式安全模塊。架構(gòu)師可以從保護(hù)芯片和用戶完整性的基礎(chǔ)開始,逐步將基于硬件的安全性和側(cè)通道保護(hù)引入到其他不太重要的功能中。”
西門子的哈里森指出,在現(xiàn)有設(shè)計中添加安全性是當(dāng)今的一個常見問題。“如果設(shè)計者不小心,事后添加安全性很容易導(dǎo)致主要入口點不安全的情況。然而,EDA在這里非常有用,因為嵌入式分析技術(shù)可以輕松集成到現(xiàn)有設(shè)計的較低級別中。與僅僅針對外圍風(fēng)險不同,可以添加IP監(jiān)視器來監(jiān)視設(shè)計中的許多內(nèi)部接口或節(jié)點。”
最低限度的硬件安全性
有了如此多的選擇和如此多的建議,安全芯片的絕對必備條件是什么?
Cadence的Wall表示,至少需要有一個安全島來為SoC建立信任根。“還需要提供身份驗證功能來正確驗證啟動代碼和OTA固件更新。理想情況下,SoC選擇的資源僅可供已知可信的固件使用,并且存在一個硬件分區(qū),可防止未知或不可信的固件惡意訪問這些資源。但最終,“必備”是由應(yīng)用程序和用例驅(qū)動的。例如,音頻播放設(shè)備與處理支付的設(shè)備有不同的要求。”
此外,根據(jù)威脅評估模型和需要保護(hù)的資產(chǎn),典型的安全芯片旨在實現(xiàn)可分為以下幾類的安全目標(biāo):完整性、真實性、機(jī)密性和可用性。
Rambus的Bahrouch表示:“這些目標(biāo)通常通過加密技術(shù)以及安全啟動、安全存儲、安全調(diào)試、安全更新、安全密鑰管理等附加功能來實現(xiàn)。”“從SoC架構(gòu)的角度來看,這通常從保護(hù)OTP和/或硬件唯一密鑰和身份開始,然后是在產(chǎn)品生命周期中保護(hù)安全相關(guān)的特性和功能,其中包括但不限于固件更新和安全調(diào)試。硬件信任根是這些基本功能的良好基礎(chǔ),也是現(xiàn)代SoC的必備條件,無論其目標(biāo)市場如何。”
西門子的哈里森說,無論哪種應(yīng)用程序,在安全應(yīng)用程序中使用的所有設(shè)備上都應(yīng)該啟用兩個關(guān)鍵元素。“首先,需要安全啟動(如上所述),因為在設(shè)備成功安全啟動之前,實施的任何其他安全機(jī)制都是潛在的攻擊面。例如,在設(shè)備啟動之前,可以覆蓋并重新配置信任根IP中的簽名寄存器,本質(zhì)上是欺騙設(shè)備的身份。其次,需要安全的身份。例如,信任根雖然不常用,但可以為設(shè)備提供唯一的標(biāo)識,并使許多其他功能能夠受到該特定設(shè)備的保護(hù)。這些是最低限度的,并不能防止任何惡意通信或任何外部接口的操縱。”
試圖在這里列出一份必備清單是很困難的,因為這些清單因芯片功能、技術(shù)、設(shè)備中的資產(chǎn)和最終應(yīng)用而異。“然而,根據(jù)經(jīng)驗,人們會發(fā)現(xiàn)三個主要功能——保護(hù)、檢測和恢復(fù),”Winbond的Tasher說。“從某種意義上說,這是一種保護(hù),設(shè)備需要防止數(shù)據(jù)泄露、非法修改、外部攻擊和操縱嘗試。檢測,因為安全機(jī)制應(yīng)該能夠檢測對內(nèi)部功能和狀態(tài)的攻擊或非法修改。在某些情況下,檢測可能會觸發(fā)簡單的響應(yīng),或者達(dá)到完全消除設(shè)備功能并擦除所有內(nèi)部秘密的程度?;謴?fù)是指對于某些安全功能,系統(tǒng)必須始終處于已知狀態(tài)。這種狀態(tài)甚至可能是完全關(guān)閉,只要它是安全穩(wěn)定的狀態(tài)。”
結(jié)論
最后,工程師必須更加熟悉如何以及在何處將安全性添加到他們的設(shè)計中,這一點至關(guān)重要。這首先是工程學(xué)校,它們剛剛開始將安全納入其課程。
例如,MITRE每年都會舉辦“奪旗”競賽,向高中生和大學(xué)生開放。“2022年,作為競賽的一部分,我們提出了底層硬件可能受到損害的概念,我們要求學(xué)生設(shè)計他們的系統(tǒng),以嘗試對系統(tǒng)中內(nèi)置的潛在惡意硬件組件具有彈性,”沃爾特斯說。“我們得到了非常有趣的回應(yīng)。很多同學(xué)問:你在說什么?這怎么可能?我們的回答是,‘是的,這很難,而且確實感覺這是一個不可能解決的問題。但這就是現(xiàn)實世界中正在發(fā)生的事情。因此,你可以把頭埋在沙子里,或者你可以改變你的思維方式來設(shè)計一個有彈性的系統(tǒng),因為當(dāng)你進(jìn)入勞動力市場時,這就是你的雇主會要求你考慮的事情。”
安全始終首先要了解每個應(yīng)用程序的獨特威脅概況,并清楚地了解需要保護(hù)的內(nèi)容、需要什么級別的保護(hù),以及如果芯片或系統(tǒng)受到損害該怎么辦。然后需要將其支持到實際面臨風(fēng)險的情況。
Synopsys的Neustadter觀察到,例如,在物聯(lián)網(wǎng)中,數(shù)據(jù)的成本、復(fù)雜性和敏感性多種多樣。“物聯(lián)網(wǎng)端點至少需要安全且值得信賴,”她說。“至少,開發(fā)人員應(yīng)該測試其固件軟件的完整性和真實性,但如果這些特定測試失敗,也要采取合理的應(yīng)對措施。”
在汽車領(lǐng)域,成功的攻擊可能會產(chǎn)生非常嚴(yán)重的后果。“電子設(shè)備很復(fù)雜,連接也很復(fù)雜,”諾伊施塔特說。“當(dāng)汽車在高速公路上行駛時,可以通過駕駛員遠(yuǎn)程控制汽車,這已經(jīng)是老新聞了。因此,汽車的安全至關(guān)重要。在那里,您需要實現(xiàn)更高級別的安全性,通常還需要更高的性能。這是一種與物聯(lián)網(wǎng)不同的安全方法,并不是說它更重要,而是不同。”
這與云中的安全性仍然有很大不同。“未經(jīng)授權(quán)的數(shù)據(jù)訪問是最大的威脅之一,”諾伊施塔特說。“可能還有許多其他威脅,包括數(shù)據(jù)泄露。我們的很多財務(wù)數(shù)據(jù)都在云端,那里有另一個級別的安全方法和抵御物理攻擊、故障注入等的彈性。我希望人們更多地關(guān)注,威脅是什么?你想保護(hù)什么?然后,結(jié)合圖中的所有其他內(nèi)容,您可以定義安全架構(gòu)。這是人們從一開始就不看的東西。它可以幫助他們有一個更好的開始,并避免必須返回并重新設(shè)計安全解決方案。”