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