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