400-821-6015
行(xíng)業(yè)資訊
您當前的(de)位置:首頁 » 行(xíng)¶≥業(yè)資訊 » 行(xíng)業'↑↔(yè)資訊
內(nèi)部資訊行(xíng)業(yè)資訊

基于AP AUTOSAR實現(xiàn)功能(néng)安全島

發布日(rì)期:2021-07-30

AP 标準在經過幾年(nián)的(de)進化(huà)後,漸漸有(yǒu)了(le)越׶>來(lái)越多(duō)的(de)量産項目。其中,作(<γ£↑zuò)者觀察到(dào)AP的(de)一(yī)個(gè)重要(yào)使用(yòn☆"g)場(chǎng)景為(wèi)實現(xiàn)功能(néng)安全島。

1

背景


在傳統的(de)硬件(jiàn)架構下(xià)≠♥≥₹,一(yī)般是(shì)一(yī)個(gè)MPU搭配一(y•→÷ī)個(gè)從(cóng)芯片MCU。MPU上(shàng)運行(xíng)需要₽γα≤(yào)高(gāo)算(suàn)力的(de)應用(yòng),而且MCU側于π±車(chē)內(nèi)總線(比如(rú)CAN)。功能(néng)安©±全的(de)應用(yòng)部署在MCU側,軟件‌₩(jiàn)棧比如(rú)選用(yòng)CP ✘∞£AUTOSAR。

在這(zhè)個(gè)架構下(xià),受MCU算(suàn)力限制(z✘π'hì),CP側無法對(duì)高(gāo)算(suàn)力的(de)MPU做(zuò)©‌∞細顆粒的(de)監控。目前很(hěn)多 <≤₽(duō)量産項目用(yòng)到(dào)AP AUTOSA✘ ↔R的(de)主要(yào)原因是(shì)在MPU上(shàng)實現(xiàn)功∞£‌能(néng)安全島。最近(jìn)有(yǒu><)好(hǎo)幾個(gè)ADAS項目采用(yòng)如(rú)下(xià$∏)軟件(jiàn)架構:

這(zhè)樣的(de)架構主要(yào)使✔©<用(yòng)在高(gāo)性能(néng)ADAS控制(zhì)器(qì)上(shànπ≥±g)。在Linux VM側,部署各種開(kāi)源機(jī)器(qì​✘γ )學習(xí)框架和(hé)ADAS算(suàn)法。算§¶✔(suàn)法工(gōng)程師(shī)能(nén±ε↔g)夠從(cóng)廣大(dà)Linux軟件(jiàn)生(shēng)​♥态中獲益。常見(jiàn)的(de)機(jī)器(qì)學習(xí)框架,算(suàn)→★₽法庫等等都(dōu)在Linux上(shàng)有(yǒu)移植。受限于Linux實現≥✔₽(xiàn)功能(néng)安全能(néng)力,所有Ω®✘±(yǒu)的(de)項目都(dōu)把跟功能(néng)安全相(xiàng)關部分(fēn‌σ)放(fàng)在AUTOSAR側。AP AUTOSAR側•± 一(yī)般實現(xiàn)safety應用(yòng):


  • 系統失效後的(de)緊急運行(xíng)功能(né$¥ ng)或降級功能(néng)


  • 備份功能(néng)滿足Fail-operational的(de)→® 安全策略。


  • 實現(xiàn)不(bù)同算(suàn)法監控比對(duì)αγλβLinux VM側結果實現(xiàn)算(suàn)法級冗餘。

當然,也(yě)有(yǒu)RTOS廠(chǎng)商移植了(le)部分(fēn)框架。比如 ∞€(rú)opencv等。在這(zhè)種情況下(xià),可(kě)以省去(qù)Hypδ±↔ervisor和(hé)Linux部分(fēn),大(d ↓à)大(dà)降低(dī)開(kāi)發集成難度。如(rú)果Safe" ≤ty應用(yòng)要(yào)滿足ASIL等級,那₩‌≈ε(nà)麽其下(xià)底下(xià)AP AUT↓£®OSAR協議(yì)棧,RTOS,Hypervisor,和(hé)重要(y×≤€∞ào)的(de)庫和(hé)系統服務也(y♥≤ε←ě)必須滿足ASIL等級。


2

底座 - 滿足功能(néng)安全的(de)RTOS/Hy>β♥±pervisor和(hé)工(gōng)具


為(wèi)了(le)滿足功能(néng)安全架構,目前業(yè)界≤&主流的(de)方案采用(yòng)微(wēi)內(nèi)核架構的(dγεe)RTOS。

和(hé)LInux這(zhè)樣的(de)宏內(nèi)₩$®≥核架構不(bù)同的(de)是(shì),微(wēi)內(nèi)核架構RTOS的($♣וde)內(nèi)核隻有(yǒu)最基本的(de)系統×‌‌₩服務,比如(rú)IPC,調度,內(nèi)存管¶δ↕☆理(lǐ)。其他(tā)的(de)所有(yǒu)服務和(hé)應用÷♠(yòng)都(dōu)屬于用(yòng)戶态。包括基礎服務,比如(r≠€®φú)文(wén)件(jiàn)系統,網絡協議(y λλπì)棧,闆級支持包BSP,POSIX中間(jiā₩&♥n)件(jiàn)。任何用(yòng)戶态的(de)應用(yòng)‍',系統服務或者外(wài)圍驅動宕掉,內(nèi)核仍然可(kě)以繼續運行(xí↔∑ng)。內(nèi)核對(duì)應的(de)恢複機(jī)制(zhì),比如(rú)重啓對(←®÷Ωduì)應的(de)服務。從(cóng)信π¶息安全角度,對(duì)于網絡協議(yì)棧這(zhè)樣複雜(zá)™'₽度的(de)子(zǐ)系統來(lái)說(shuō),其存在信息安全弱點是(shì)不('≤←bù)可(kě)避免的(de)。如(rú)果在宏內(nèi)λ¥↕♣核架構下(xià),一(yī)旦處在內(nèi)核态的(de)網絡協議(yì)棧被攻破,整個(gè•✔λ∏)內(nèi)核進而整個(gè)系統将有(yǒu)被攻擊者挾持的(de)風(fēng)險 Ω∞Ω。除了(le)将大(dà)部分(fēn)服務移出到(dào)用(yòng)戶态,RTγγ£ OS內(nèi)核能(néng)做(zuò)到(dào)對(duì)不(bù)同服務和(héΩ₽Ω)應用(yòng)之間(jiān)的(de)完全隔離(lí)。

隔離(lí)的(de)範圍包括:CPU時(shí)間(jiān)片,內(β' nèi)存,外(wài)圍設備訪問(wèn),總線​±占用(yòng)。這(zhè)樣,從(cóng)功能(néng)安全的 ✔☆₹(de)角度達到(dào):


  • 故障的(de)隔離(lí)(Fault isolation);


  • 功能(néng)之間(jiān)互不(bù)影(yǐng∞‍→€)響 (Interference-free)。

從(cóng)軟件(jiàn)架構設計(jì)的(de)角度,ASIL功能(néng)隻¥∏×是(shì)系統占比很(hěn)小(xiǎo)的∏♠(de)的(de)一(yī)部分(fēn)。如(rú)果其能(néng)與其他(t§✔ā)QM等級的(de)應用(yòng)隔離(lí)開(kāi)來(lái),那(nà&↔‌)麽隻有(yǒu)很(hěn)少(shǎo)的(de)一(yī)部"≈分(fēn)代碼需要(yào)做(zuò)ASIL認證。這(zhè)樣ASIL的(de)工σ♥φ(gōng)作(zuò)量會(huì)大(dà)大(dà)減少(sh‌•♦ǎo)。按照(zhào)作(zuò)者所在公司測算(suà ∏n),與開(kāi)發同樣的(de)QM功能(néng)相(xiàng)比,符合ASIL-π​₽A等級的(de)開(kāi)發需要(yào)花(huā)§↓費(fèi)大(dà)概3倍的(de)工(gōng)♠σ作(zuò)量。更進一(yī)步,不(bù)同ASIL等級的(de)應用(yòng)能(n♦•'≤éng)夠在同一(yī)系統中共存,實現(xiàn)Mixe★δ≠$d Criticality系統。信息安全架構也(yě)能(néng)很(hě↑∞n)好(hǎo)得(de)益于模塊之間(jiān)的(dγ≥♣§e)完全隔離(lí)。因為(wèi),高(•φεgāo)安全等級模塊能(néng)夠和(hé)低(λ←♠★dī)安全等級模塊之間(jiān)隔離(lí)開(kāi)來(lái)。這(z₽ π hè)也(yě)就(jiù)是(shì)TEE (Trusted Execuφ♣φ$tion Environment)的(de)設計(jì)概念。目前頂級的(de)商用(yòng) ↔←£微(wēi)內(nèi)核RTOS內(nèi)核部分(fēn)₽✔能(néng)滿足ASIL-D等級。除了(le)RTOS內(nèi)核需要(yào≈& γ)滿足ASIL等級之外(wài),從(cóng)軟®¶件(jiàn)平台的(de)角度POSIX PSE51的(de)庫也(y♥£ ě)必須滿足ASIL要(yào)求。因為(wèi)如(rú)←®↕果一(yī)個(gè)AP AUTOSAR的( •de)應用(yòng)有(yǒu)ASIL要(yào≤≈)求,其依賴的(de)所有(yǒu)庫都(dō ↑≈u)必須滿足ASIL。其中最重要(yào)的(de)是(shì)POSIX PSE51∏απ♥。AP标準裡(lǐ)定義了(le)應用(yòng)至少(shǎo)需有(yǒu)如(rú)下λφ↕(xià)依賴關系。


目前業(yè)界的(de)現(xiàn)狀為(wèi)頂級RTOS供應✘×​✔商能(néng)提供滿足ASIL等級的(de)POSIX PSE51庫。但(dàn)是γδ(shì),還(hái)沒有(yǒu)廠(chǎng)商号稱POSIX€ε  PSE53/54的(de)庫也(yě)通(tōng♠↕♠★)過了(le)ASIL認證。然後是(shì)滿足功能(néng)安全的(de)文(wén)件(₩↑jiàn)系統。值得(de)注意的(de)是(shì),C和(hé)C++标準→ <€庫提供文(wén)件(jiàn)操作(zuò)接口,比如(r₩↕ ú),C++ fstream。目前有(yǒu)RTOS供應商提供滿足ASILφ∞功能(néng)的(de)文(wén)件(jiàn)系統。經常容易ε<₽被忽略的(de)一(yī)點,開(kāi)發ASIL Safety應用(yòng)使用(yòng)<λ↔的(de)編譯器(qì)也(yě)必須滿足ASIL要(yào)求。兩個(gè)方面,第一(yī),¶δ✔↑如(rú)果編譯器(qì)不(bù)滿足ASIL要(yào)求,那(nà)麽σ← 其生(shēng)成的(de)機(jī)器(qìα₽•")代碼無法保證和(hé)源代碼的(de)對(duì)應關系。那(nà)麽對(duì)于源代碼的♣∏(de)認證并無法保證機(jī)器(qì)代碼的(de)可(kě)靠性。第二™≠,如(rú)上(shàng)圖的(de)應用(yòng)依賴關系所•♦示,C/C++标準庫也(yě)使用(yòng)在了(le)ASIL safet↑φy應用(yòng)中。那(nà)麽與編譯器(qì)配套的(de)C/C+≠ +的(de)标準庫也(yě)必須通(tōng)過ASIL認證。目前業(yè)界的(de"↑§)最新情況來(lái),C99和(hé)C++11大(€‌dà)部分(fēn)能(néng)允許在Safety應用(yòng)裡← (lǐ)使用(yòng)。還(hái)無法達到(dào)認證C++14的(de)标準庫。最後聊♠φ©一(yī)下(xià)Hypervisor。和(hé)傳統T<​₽≠ype-1 Hypervior不(bù)一(yī)樣的(de)是(•€∑shì),最優的(de)Hypervisor方案和(hé)↓♠♦RTOS是(shì)一(yī)體(tǐ)的(de)。


也(yě)就(jiù)是(shì)說(shuō)AP AUTO$×SAR能(néng)直接在Hypervisor上(shàng)λ ♣©面運行(xíng),而不(bù)是(shì)通(tōng)過虛拟化(huβφα&à)一(yī)個(gè)RTOS之後,再在上(shàng)面運行(xβ¶≥™íng)AP AUTOSAR。這(zhè)樣最大(dà)的(de)好(hǎ↑'o)處是(shì)減少(shǎo)了(le)一(yī)次上(shàng)下(xià)文(wén♦®₩↔)切換,提高(gāo)的(de)AP AUTOSAR部>✘≤分(fēn)的(de)運行(xíng)效率。


3

AP AUTOSAR功能(néng)安全

整個(gè)AP AUTOSAR協議(yì)棧的(×₩de)體(tǐ)量非常大(dà)。要(yào)想整體(tǐ)通(tōng)過ASIL作(zu×≈✔$ò)者認為(wèi)可(kě)能(néng)性不(bù)大(dà)。在這(zhè)裡(lǐ)作 φγ‍(zuò)者想特别提醒:一(yī)個(gè)号稱有(yǒu)ASILπ$-D證書(shū)的(de)産品并不(bù)能(néng)代表産品有(yǒu)多(duō)高(g φāo)的(de)功能(néng)安全能(néng)力。這(zhè)可(kě)能(≤"λπnéng)是(shì)業(yè)界經常用(yòng)來(lái)maγσ☆×rketing的(de)一(yī)個(gè)手段。ASIL-D最多(duō)表明$✘(míng)了(le)産品開(kāi)發符合了(le)ASIL-D流程。其他✘↕ (tā)任何也(yě)說(shuō)明(míng)不(bù)了(l₩☆δe)。真正能(néng)夠能(néng)代表一(yī)個(gè)φ↓♠産品功能(néng)安全能(néng)力的(de)→α♦ ,一(yī)定需要(yào)查看(kàn)産品的(de)功能(n"σ© éng)安全手冊。功能(néng)安全手冊的(de)重要(yà‍→‌σo)性作(zuò)者無法更多(duō)的(de)強調,上(shàng)面應該解釋了(le):産≥§≤↑品考慮了(le)哪些(xiē)故障場(chǎng)景,®™>哪些(xiē)功能(néng)允許或不(bù)允許在在安全應用♦©(yòng)裡(lǐ)使用(yòng),在使用(yòng)某個(gè)功能(néng)或者接∏"≠€口的(de)時(shí)候必須滿足怎麽的(de)條件(jiàn)和(hé)限制βσ(zhì)。目前AP協議(yì)棧在RTOS的(de)實現(xiàn)如(rú)下(xià ')圖。

像EM,PHM,COM,PM, DM,UCM這(zhè)樣功能(néng)模§∏塊都(dōu)是(shì)以獨立的(de)進程在系統中出現(xiàn)。值得(de)注意的(d₽"£♥e)是(shì),每個(gè)模塊完全包含了(le)所有(yǒu)™‍↔依賴的(de)庫,就(jiù)像每個(gè)模塊運行(xíng)在獨立的(de)®§≈•容器(qì)裡(lǐ)。這(zhè)方便每個(gè)模塊的(de)獨立部署和(héσ≠‍)升級。一(yī)般來(lái)講Platform Health M$↔≥"anagement (PHM)模塊必須符合ASIL,其ASI≠✘ L等級必須和(hé)系統最高(gāo)級别safety應用(yòng)§÷的(de)等級相(xiàng)當。目前已經有(yǒu)滿足ASIL-D的(de)'<PHM模塊。內(nèi)容包括:

  • 健康監控:檢查應用(yòng)是(shì)否正常運行(xíng)"™®&,是(shì)否異常退出或者處在suspe‌♠∏nd狀态不(bù)會(huì)被OS調度。


  • Deadline監控:檢查應用(yòn×∏γg)是(shì)否在規定時(shí)間(jiān)完成。


  • 程序流監控:檢查應用(yòng)是(shì)否在規定時(sh•≈λí)間(jiān)內(nèi)執行(xíng)配置好(hǎo)的(de)的(de)檢查 >♦點(checkpoint)。


  • 其他(tā)系統監控:OS內(nèi)核運行(xíng)狀态,R≠λαAM校(xiào)驗值,電(diàn)壓,等等和(hé)平台細節相(xiàng)關的(δ•∞de)參數(shù)。


第二重要(yào)的(de)功能(néng)安全模塊為(wèi)EM(Execution Man€∞‌★agement), EM模塊必須符合ASIL等級,其ASIL等級α✔♠必須和(hé)系統最高(gāo)級别safety應用(yòng)的(de↑←♦)等級相(xiàng)當。目前已經有(yǒu)滿↕✘足ASIL-D的(de)EM模塊。內(nèi)容包括:


  • 安全初始化(huà):和(hé)RTOλ÷®S一(yī)起,保證如(rú)果safety應用(yòng)需要(yào✘✘σ)被EM啓動,所有(yǒu)需要(yào)的(de)硬件(jiàn)資源☆₽都(dōu)可(kě)用(yòng)。這(zhè)裡(lǐ)包 ≠括了(le)CPU時(shí)間(jiān)片和(hé)內(nèi)存等↓‌§∏。作(zuò)者的(de)經驗是(shì)實現(xiàn)了(le)ASIL等級的(de)pos¶®ε₽ix_spawn API。


  • 可(kě)靠運行(xíng):主要(yào)使用(yòng)軟件∑☆ ≥(jiàn)Lock-step框架,實現(x₹>iàn)在規定時(shí)間(jiān)內(nèi)執行(xíng)好>₹₽α(hǎo)預設應用(yòng)并且比對(duì)結果σ★。參看(kàn)EM的(de)Deterministic Client部分(fēn)。©$


  • 可(kě)靠調度:和(hé)RTOS一(yī)起,當sa≤ fety應用(yòng)被EM啓動之後, 在運行(xíng)過®÷程中需保證分(fēn)配的(de)CPU時(shí)間(ji×£ān)片不(bù)受其他(tā)應用(yòng)影(yǐng)響。 ↓¶


  • 可(kě)靠退出:和(hé)RTOS一(y™≠© ī)起,當safety應用(yòng)被(如(rú)果被SM)請(qǐ♠★ng)求退出時(shí),所有(yǒu)的(de)有(yǒu)依賴關系的(de)應用(yòng)↕¥∏按配置的(de)順序正常退出,而且不(bù)會(huìΩ€)出現(xiàn)系統異常。


順便簡短(duǎn)提下(xià)CM(Communication Management)和(ε₽¥αhé)SM(State Management)的(de)功能€γ>¶(néng)安全實現(xiàn)。CM模塊代碼量相(xiàng)當大(dà)。作(z♦€ uò)者的(de)個(gè)人(rén)觀點是(shì)無<♦法達到(dào)ASIL等級。目前在具體(t£§♣ǐ)項目主要(yào)是(shì)中搭配使用(yòng)E2E保護。SM一(y✔®¥‌ī)般來(lái)講也(yě)是(shì)達到(dào)A€¶♦SIL等級的(de)。但(dàn)是(shì)其和(hé)具體(tǐ)項目的(de₩Ω)上(shàng)下(xià)文(wén)強相(xiàng)關,無法通(t ✔λδōng)用(yòng)性的(de)展開(kāi)討 "φ(tǎo)論。


轉載汽車(chē)電(diàn)子(zǐ)相(xiàngΩ∞₽)關文(wén)章(zhāng)

轉自(zì)汽車(chē)電(diàn)子(zǐ)與軟件(j↑'iàn)


北京德智尚車聯科技有限公司版權所有(yǒu) 京ICP證000000号   技(jì)術(shù)支 δ>±持:網站(zhàn)建設