下一代MachXO3D FPGA讓汽車(chē)更安全
我們生活在一個(gè)高度互連的世界,很容易受到各種來(lái)源的網(wǎng)絡(luò)攻擊。僅2018年,硬件攻擊讓超過(guò)30億系統(tǒng)暴露在數(shù)據(jù)盜竊、非法操作和其它安全隱患中1。
本文引用地址:http://m.butianyuan.cn/article/202011/419887.htm在汽車(chē)領(lǐng)域,如今的智能聯(lián)網(wǎng)汽車(chē)則加劇了這類(lèi)安全問(wèn)題。若網(wǎng)絡(luò)攻擊造成汽車(chē)失控不僅會(huì)對(duì)目標(biāo)車(chē)輛中的人員造成傷害,更有可能危及附近的車(chē)輛、行人和財(cái)產(chǎn)。
因此,汽車(chē)的設(shè)計(jì)人員和廠商正極力尋找保障系統(tǒng)安全之道。正如本文所述,解決方法之一是采用萊迪思半導(dǎo)體的MachXO3D? FPGA。
老式汽車(chē)時(shí)代已經(jīng)過(guò)去
汽車(chē)市場(chǎng)在不斷演變,近些年來(lái)的變化尤其劇烈,變化速度極快。
以微處理器單元(MPU)和微控制器單元(MCU)為主的計(jì)算器件在20世紀(jì)七八十年代晚期開(kāi)始應(yīng)用于汽車(chē)。起初,這些芯片用作復(fù)雜的引擎控制系統(tǒng),只在高端車(chē)輛中使用。到九十年代中期,所有的汽車(chē)都擁有處理器來(lái)監(jiān)控傳感器、控制引擎以及管理各種車(chē)輛系統(tǒng)之間的交互。
到2020年,一輛普通的車(chē)約有50個(gè)計(jì)算單元,而一輛高端汽車(chē)的計(jì)算單元可達(dá)100多個(gè)。如今的汽車(chē)不僅裝備了GPS、藍(lán)牙、Wi-Fi、移動(dòng)數(shù)據(jù)通信,還擁有道路偏離和碰撞預(yù)警等高端安全系統(tǒng)。許多汽車(chē)應(yīng)用都采用了傳感器聚合來(lái)實(shí)現(xiàn)擁有人工智能和機(jī)器學(xué)習(xí)功能的雷達(dá)、激光雷達(dá)和機(jī)器視覺(jué)系統(tǒng)。一些汽車(chē)還能一鍵停車(chē),諸如此類(lèi)的功能越來(lái)越多。
人們對(duì)電動(dòng)車(chē)非常有興趣。世界上主要的汽車(chē)廠商都在大力投資電動(dòng)汽車(chē)。此外,人們對(duì)氫燃料汽車(chē)也抱有極大熱情,目前至少有三款此類(lèi)車(chē)型面世,還有幾家公司也正在研發(fā)新的車(chē)型。
感覺(jué)不夠安全?
除了擁有50-100多個(gè)計(jì)算單元外,如今的汽車(chē)與外界的連接也越來(lái)越多。在該語(yǔ)境下,“連接”指車(chē)輛能與自身之外的其他系統(tǒng)進(jìn)行雙向通信。這讓車(chē)輛能夠與內(nèi)外部的設(shè)備分享網(wǎng)絡(luò)連接和數(shù)據(jù)。
通用汽車(chē)是首家將互連特性推向市場(chǎng)的汽車(chē)制造商,1996年推出了OnStar系統(tǒng)。2001年又推出了遠(yuǎn)程診斷功能。2003年,互連汽車(chē)服務(wù)包括了汽車(chē)健康報(bào)告、逐向道路導(dǎo)航和網(wǎng)絡(luò)訪問(wèn)設(shè)備。2007年又推出了Telematics服務(wù)。到了2017年,車(chē)隊(duì)運(yùn)營(yíng)商開(kāi)始見(jiàn)證預(yù)測(cè)性智能功能的首次部署。
在軟件環(huán)境下,“攻擊面”是指未經(jīng)授權(quán)的用戶可以輸入數(shù)據(jù)或從環(huán)境提取數(shù)據(jù)的所有切入點(diǎn)的總和。問(wèn)題在于,擁有50-100多個(gè)計(jì)算單元的聯(lián)網(wǎng)汽車(chē)會(huì)為黑客和惡意攻擊者提供很大的攻擊面。
根據(jù)美國(guó)國(guó)家標(biāo)準(zhǔn)和技術(shù)研究院,安全解決方案的主要考慮是建立可信根:
現(xiàn)代計(jì)算設(shè)備由多層抽象的各類(lèi)硬件、固件和軟件組件組成。當(dāng)前,許多安全和保護(hù)機(jī)制都植根于軟件中,而軟件與所有底層組件都必須可靠才能保障安全。由于安全機(jī)制依賴這些組件,因而組件上任何一個(gè)漏洞都可能損害這些機(jī)制的可靠度。將安全機(jī)制建立在可信根,則可以更大程度上保證安全。可信根是高度可靠的硬件、固件和軟件組件,它們可以執(zhí)行特定的、至關(guān)重要的安全功能。由于可信根本身受到信任,因此必須在設(shè)計(jì)時(shí)確保它們的安全。許多可信根都是在硬件中實(shí)現(xiàn)的,因此惡意軟件無(wú)法篡改其提供的功能。可信根為建立安全和信任提供了堅(jiān)實(shí)的基礎(chǔ)。
不受保護(hù)的系統(tǒng)可能導(dǎo)致數(shù)據(jù)和設(shè)計(jì)盜竊、產(chǎn)品克隆和過(guò)度生產(chǎn)。更糟的是,安全性能不夠完善的系統(tǒng)很容易遭到設(shè)備篡改和劫持。
市場(chǎng)上的FPGA廠商數(shù)量很少,且大多數(shù)主要專(zhuān)注提供超多資源、功能和高性能的器件。這些器件主要用于大型通信基礎(chǔ)設(shè)施、服務(wù)器農(nóng)場(chǎng)和數(shù)據(jù)中心等。相比之下,萊迪思半導(dǎo)體是唯一一家專(zhuān)注中小型FPGA的廠商,這類(lèi)器件非常適合許多汽車(chē)應(yīng)用。此外,萊迪思還提供市場(chǎng)上僅有的小于10K查找表且擁有NIST認(rèn)證的、不可更改安全引擎的FPGA。
MachXO3 FPGA系列FPGA介紹
萊迪思提供各類(lèi)FPGA技術(shù)。一款非常適合部署在汽車(chē)應(yīng)用中的FPGA就是MachXO系列。
初代MachXO系列于2005年上市。2010年又推出了MachXO2/ZE?系列,隨后2013年和2019年又分別推出了MachXO3L/LF?和MachXO3D?系列。在產(chǎn)品的發(fā)展歷程中,每一代新產(chǎn)品不僅繼承了前代專(zhuān)為客戶需求打造的特性,還對(duì)資源和功能進(jìn)行了拓展。
與前幾代MachXO FPGA產(chǎn)品類(lèi)似,MachXO3?器件擁有低功耗特性、大量LUT資源以及大量輸入/輸出(I/O)。此外,還器件還支持瞬時(shí)啟動(dòng)和熱插拔功能,擁有后臺(tái)可編程內(nèi)部閃存配置存儲(chǔ)器,支持現(xiàn)場(chǎng)邏輯更新。因而MachXO3器件是粘合邏輯、總線橋接、總線接口、馬達(dá)控制、上電控制以及其他各類(lèi)控制邏輯應(yīng)用的理想選擇。此外,由于MachXO3 FPGA擁有數(shù)百個(gè)I/O,因此也非常適合需要通用I/O擴(kuò)展、接口橋接和上電管理等功能的各類(lèi)應(yīng)用。
MachXO3LF系列器件擁有最多9400個(gè)LUT和384個(gè)I/O,可提供各類(lèi)設(shè)計(jì)場(chǎng)景所需的各種功能。該系列器件可選3.3/2.5 V或低功耗1.2 V內(nèi)核,提供多個(gè)I/O bank(最多6個(gè)),支持熱插拔以及各種信號(hào)標(biāo)準(zhǔn)和電壓、可對(duì)每個(gè)引腳進(jìn)行編程。-40°C至+125°C的拓展溫度(結(jié)溫)范圍可應(yīng)對(duì)嚴(yán)酷的汽車(chē)環(huán)境, AEC-Q100 Grade 2認(rèn)證確保了該器件滿足現(xiàn)有的汽車(chē)質(zhì)量行業(yè)標(biāo)準(zhǔn)。
除了提供基于閃存的配置存儲(chǔ)器之外,MachXO3LF系列還提供多達(dá)448 Kb的用戶閃存(UFM)。此外,在上電時(shí),配置數(shù)據(jù)將從閃存配置存儲(chǔ)器復(fù)制到基于SRAM的配置單元中(不要與用戶SRAM存儲(chǔ)器的存儲(chǔ)模塊混淆)。該操作以大規(guī)模并行方式執(zhí)行,不到5毫秒即可完成。這種方法的巨大優(yōu)勢(shì)在于,將新配置加載到閃存配置存儲(chǔ)器中時(shí),器件可以使用其基于SRAM的配置繼續(xù)運(yùn)行。新配置加載完畢后,可以在程序控制下暫停器件運(yùn)行,鎖定輸出,將新配置復(fù)制到SRAM配置單元中,然后釋放器件繼續(xù)運(yùn)行。
隨著工藝制程的不斷發(fā)展,集成電路的結(jié)構(gòu)越來(lái)越小,而影響當(dāng)今所有電子設(shè)備的一個(gè)共同問(wèn)題就是輻射。常見(jiàn)的一種由于輻射引發(fā)的效應(yīng)就是單粒子翻轉(zhuǎn)(SEU),即高能放射性粒子撞擊電路中的敏感節(jié)點(diǎn),從而改變其狀態(tài)。例如,寄存器位或存儲(chǔ)單元從0翻轉(zhuǎn)到1或從1到0。由于SEU可以糾正,因此被視為“軟錯(cuò)誤”。FPGA由于有配置單元的緣故,其SEU問(wèn)題不可小覷。
毫無(wú)疑問(wèn),汽車(chē)應(yīng)用的安全性能至關(guān)重要。為應(yīng)對(duì)輻射效應(yīng)以及電氣噪聲環(huán)境(如汽車(chē)上的電氣噪聲)MachXO3LF系列支持軟錯(cuò)誤檢測(cè)(SED)、軟錯(cuò)誤校正(SEC)和軟錯(cuò)誤注入(SEI)。
SED模塊是構(gòu)建在芯片上的硬核,它可以計(jì)算SRAM配置位的循環(huán)冗余校驗(yàn)(CRC),將計(jì)算出的CRC與當(dāng)前配置相關(guān)的現(xiàn)有CRC進(jìn)行比較,在出現(xiàn)不匹配時(shí)標(biāo)記錯(cuò)誤。在可編程邏輯中實(shí)現(xiàn)的SEC軟核會(huì)響應(yīng)該標(biāo)記,觸發(fā)后臺(tái)的重新配置核,調(diào)用存儲(chǔ)在配置閃存中的初始配置來(lái)更新SRAM配置單元(重新配置不會(huì)中斷任何未受影響的進(jìn)程)。
最后,用戶可以使用SEI功能,在不修改CRC的情況下,通過(guò)JTAG、I2C或SPI直接將錯(cuò)誤注入目標(biāo)SRAM配置單元來(lái)模擬軟錯(cuò)誤事件。
MachXO3D FPGA系列簡(jiǎn)介
汽車(chē)行業(yè)目前正采取類(lèi)似服務(wù)器行業(yè)的安全策略,包括供應(yīng)鏈安全、安全啟動(dòng)(確保固件啟動(dòng)的代碼是受信任的)和平臺(tái)固件保護(hù)恢復(fù)(PFR)。
如前所述,MachXO3LF汽車(chē)FPGA作為業(yè)界領(lǐng)先的可編程邏輯器件,能夠靈活部署可靠的汽車(chē)應(yīng)用。MachXO3D汽車(chē)器件不僅大大提升了閃存容量(最高2693 Kb UFM),還新增了硬件安全特性,為汽車(chē)系統(tǒng)帶來(lái)符合NIST標(biāo)準(zhǔn)的安全性能。實(shí)際上,MachXO3D是10 K LUT以下唯一一款擁有NIST認(rèn)證的不可更改的安全引擎的器件。
MachXO3D作為硬件可信根是系統(tǒng)最先上電、最后斷電的器件,此外,它的不可更改的安全引擎還能實(shí)現(xiàn)ECDSA、ECIES、AES、SHA、HMAC、TRNG、唯一安全I(xiàn)D和公鑰/私鑰生成等預(yù)驗(yàn)證的加密功能。不可更改的安全引擎以及萊迪思最新發(fā)布的固件安全解決方案集合——Lattice SentryTM均能在產(chǎn)品的整個(gè)生命周期內(nèi)保障安全,包括器件制造和運(yùn)輸、平臺(tái)制造、安裝、運(yùn)行直至報(bào)廢。它還提供數(shù)據(jù)安全、設(shè)備安全、數(shù)據(jù)驗(yàn)證、設(shè)計(jì)安全和品牌保護(hù),全面防止各類(lèi)威脅,保障系統(tǒng)安全。
根據(jù)NIST SP 800 193標(biāo)準(zhǔn)的定義,平臺(tái)固件保護(hù)恢復(fù)(PFR)包括了保護(hù)、檢測(cè)和恢復(fù)三部分。保護(hù)是指保護(hù)平臺(tái)固件和關(guān)鍵數(shù)據(jù)不受損壞,確保固件更新的可靠性和完整性。檢測(cè)包括在系統(tǒng)首次上電時(shí)加密檢測(cè)受損的平臺(tái)固件和關(guān)鍵數(shù)據(jù)以及跟進(jìn)在系統(tǒng)更新?;謴?fù)則包括執(zhí)行可信的恢復(fù)進(jìn)程,將受損平臺(tái)固件和關(guān)鍵數(shù)據(jù)恢復(fù)到之前的狀態(tài)。
MachXO3D器件提供安全雙引導(dǎo)等功能,完全滿足PFR的要求。MachXO3D的可編程邏輯、不可更改的安全引擎和安全的雙引導(dǎo)配置模塊,在設(shè)計(jì)實(shí)施過(guò)程中提供足夠的靈活性,且能在部署系統(tǒng)后實(shí)現(xiàn)安全更新。除了本身提供硬件可信根外,片上邏輯的使用還極大地減少了網(wǎng)絡(luò)攻擊的攻擊面。
MachXO3D采用自我檢測(cè)、自我恢復(fù)和自我保護(hù)功能,實(shí)現(xiàn)安全的實(shí)時(shí)系統(tǒng)更新,進(jìn)一步滿足NIST PFR的要求。自我檢測(cè)時(shí),安全引擎會(huì)在啟動(dòng)前使用安全存儲(chǔ)在芯片上的公鑰對(duì)現(xiàn)有的片上配置鏡像進(jìn)行身份驗(yàn)證。自我保護(hù)是指如果新下載的鏡像身份驗(yàn)證失敗,則安全引擎會(huì)自動(dòng)還原到現(xiàn)有已經(jīng)過(guò)驗(yàn)證的“黃金鏡像”。自我保護(hù)時(shí),除了防止器件使用受損的鏡像進(jìn)行自我配置之外,可編程邏輯還控制來(lái)自編程端口的訪問(wèn),該鎖定策略可確保每個(gè)閃存存儲(chǔ)具有單獨(dú)的訪問(wèn)權(quán)限,并且當(dāng)新的鏡像文件處于傳輸狀態(tài)(加載到配置閃存的過(guò)程中)時(shí),安全引擎會(huì)阻斷所有來(lái)自配置端口的攻擊。
典型應(yīng)用案例
以下展示了MachXO3和MachXO3D在汽車(chē)中的三種常見(jiàn)應(yīng)用案例:電池管理、可信根和基于硬件的安全啟動(dòng)。
● 電池管理:如今包括電動(dòng)車(chē)在內(nèi)的大多數(shù)系統(tǒng)都有多節(jié)電池。電池組中的每節(jié)電池都需要充電到合適電量來(lái)確保電池的使用壽命。過(guò)充或充電不足都有可能縮短電池壽命。
電池管理系統(tǒng)執(zhí)行各種任務(wù),包括防止電池在不安全的環(huán)境下運(yùn)行、監(jiān)視電池狀態(tài)、計(jì)算輔助數(shù)據(jù)并上報(bào)該數(shù)據(jù)。
基于MachXO3的電池管理系統(tǒng)(BMS)是一個(gè)控制器,監(jiān)控充電和放電過(guò)程,實(shí)現(xiàn)智能的電池單元平衡,保證每個(gè)電池單元的充電均衡。此外,BMS還提供實(shí)時(shí)電池信息,例如電池的充電狀態(tài)(SOC)和健康狀態(tài)(SOH),從而協(xié)助車(chē)輛的應(yīng)用處理器(AP)向駕駛員提供最新信息。
使用MachXO3D FPGA來(lái)實(shí)現(xiàn)BMS能為系統(tǒng)提供額外的安全性能,防止對(duì)智能電池的入侵導(dǎo)致電池突破安全極限,對(duì)電池或者車(chē)輛造成永久性破壞或嚴(yán)重故障。
● 信任鏈/可信根:硬件可信根是保護(hù)整個(gè)汽車(chē)系統(tǒng)(包括所有引擎控制單元)的信任鏈中的首個(gè)環(huán)節(jié)。
從組件供應(yīng)商開(kāi)始,汽車(chē)系統(tǒng)供應(yīng)鏈還包括Tier 2系統(tǒng)開(kāi)發(fā)人員、Tier 1系統(tǒng)集成商、OEM汽車(chē)制造商、分銷(xiāo)和運(yùn)輸、經(jīng)銷(xiāo)商以及最終客戶。在整個(gè)供應(yīng)鏈中,入侵系統(tǒng)的攻擊點(diǎn)有許多,有可能在這些環(huán)節(jié)加載損壞的固件。
Lattice SupplyGuard?供應(yīng)鏈安全服務(wù)為客戶提供工廠鎖定的IC。這些IC只能使用特定客戶開(kāi)發(fā)、簽名、加密的配置位流進(jìn)行編程。
此外,MachXO3D FPGA的雙引導(dǎo)功能支持密鑰加密和以及系統(tǒng)可默認(rèn)設(shè)置、高度安全的黃金鏡像。系統(tǒng)上電時(shí),瞬時(shí)啟動(dòng)的MachXO3D、黃金鏡像和萊迪思SupplyGuard三者共同提供了端到端的供應(yīng)鏈保護(hù)。
● 基于硬件的安全啟動(dòng):MachXO3D FPGA是汽車(chē)系統(tǒng)中首個(gè)上電的器件,也是最后斷電的器件。系統(tǒng)上電后,MachXO3D會(huì)自我檢查以確保只運(yùn)行經(jīng)過(guò)身份驗(yàn)證的固件。MachXO3D還檢查系統(tǒng)中其他器件的相關(guān)固件。
MachXO3D FPGA的硬件安全配置模塊符合NIST SP 800 193平臺(tái)固件保護(hù)恢復(fù)(PFR)標(biāo)準(zhǔn),在出現(xiàn)惡意攻擊時(shí),能夠保護(hù)、檢測(cè)自身并恢復(fù)到完好狀態(tài)。此外,可編程架構(gòu)的的大規(guī)模并行處理能力讓MachXO3D能夠同時(shí)保護(hù)、檢測(cè)和恢復(fù)多個(gè)平臺(tái)固件。
結(jié)論
MachXO3 FPGA基于閃存的配置提供了“瞬時(shí)啟動(dòng)”功能,使其成為平臺(tái)上首個(gè)上電、最后斷電的器件,并在系統(tǒng)控制和電源管理功能市場(chǎng)中占據(jù)主導(dǎo)地位。
汽車(chē)應(yīng)用的安全性是第一位的。為應(yīng)對(duì)輻射效應(yīng)以及電氣噪聲環(huán)境(如汽車(chē)上的電氣噪聲),MachXO3LF系列支持軟錯(cuò)誤檢測(cè)(SED)、軟錯(cuò)誤校正(SEC)和軟錯(cuò)誤注入(SEI)。
MachXO3D汽車(chē)器件不僅大大提升了閃存容量(最高2693 kb UFM),還新增了硬件安全特性,為汽車(chē)系統(tǒng)帶來(lái)符合NIST標(biāo)準(zhǔn)的安全性能。
MachXO3D FPGA通過(guò)硬件可信根功能增強(qiáng)了安全性。OEM和汽車(chē)制造商可以通過(guò)MachXO3D FPGA為所有系統(tǒng)組件輕松實(shí)現(xiàn)可靠、全面、靈活的基于硬件的安全機(jī)制。MachXO3D FPGA可以在系統(tǒng)運(yùn)行時(shí)進(jìn)行保護(hù)、檢測(cè)并從未經(jīng)授權(quán)的固件訪問(wèn)中恢復(fù)自身和其他組件。此外,MachXO3D FPGA可以和SupplyGuard服務(wù)共同保護(hù)系統(tǒng)在生命周期的各個(gè)階段(從制造到報(bào)廢)免受惡意活動(dòng)的損害。
除安全領(lǐng)域外,由于FPGA擁有全面的并行處理能力,因此成為實(shí)現(xiàn)各種先進(jìn)的駕駛輔助系統(tǒng)(幫助駕駛員實(shí)現(xiàn)駕駛和停車(chē)功能的電子系統(tǒng))的理想之選。許多ADAS系統(tǒng)都需要實(shí)時(shí)響應(yīng),MCU太慢,而定制的SoC開(kāi)發(fā)昂貴且費(fèi)時(shí)。此外,SoC的硬件加速器算法實(shí)際上是“凍結(jié)在芯片中”,這在各類(lèi)標(biāo)準(zhǔn)和協(xié)議不斷發(fā)展并不斷變化時(shí)代無(wú)疑是不合適的。理想的解決方案是使用FPGA,它具有極高的靈活性,并且可以重新配置來(lái)適應(yīng)不斷發(fā)展的標(biāo)準(zhǔn)、協(xié)議和功能要求。
MachXO3D FPGA為當(dāng)今日益復(fù)雜和互連的汽車(chē)應(yīng)用提供了功能和安全性的完美結(jié)合。
參考資料
1 https://www.technologyreview.com/2018/01/05/146411/at-least-3-billion-computer-chips-have-the- spectre-security-hole/
2 預(yù)計(jì)2021年一季度實(shí)現(xiàn)全面認(rèn)證
評(píng)論