周逢軍,韓冰,趙憲華,周娜娜,許媛,魏國(guó)亮
(1.北京理工大學(xué)前沿技術(shù)研究院,山東濟(jì)南 250357;2.北京理工新源信息科技有限公司,北京 100081;3.北京理工大學(xué),北京 100081)
隨著萬(wàn)物互聯(lián)時(shí)代的到來(lái),智能網(wǎng)聯(lián)技術(shù)在智能交通領(lǐng)域得到應(yīng)用。智能網(wǎng)聯(lián)系統(tǒng)是車與車、車與人、車與路、車與云(平臺(tái))之間,按照約定的體系架構(gòu)及其通信協(xié)議和數(shù)據(jù)交互標(biāo)準(zhǔn),進(jìn)行通信和信息交換的信息基礎(chǔ)設(shè)施。智能網(wǎng)聯(lián)系統(tǒng)的安全運(yùn)行,依賴于其系統(tǒng)內(nèi)部各子系統(tǒng)的安全及各子系統(tǒng)之間的互操作安全。因此,設(shè)計(jì)安全可靠的智能網(wǎng)聯(lián)系統(tǒng)架構(gòu)至關(guān)重要。
汽車安全有關(guān)的標(biāo)準(zhǔn)主要有汽車功能安全標(biāo)準(zhǔn)ISO 26262、尚未發(fā)布的汽車信息安全標(biāo)準(zhǔn)ISO 21434以及預(yù)期功能安全標(biāo)準(zhǔn)ISO 21448。其中,ISO 26262標(biāo)準(zhǔn)主要針對(duì)汽車電子系統(tǒng)功能安全,通過(guò)危害分析和風(fēng)險(xiǎn)評(píng)估(Hazard Analysis & Risk Assessment,HARA),得到功能安全需求等級(jí),通過(guò)產(chǎn)品設(shè)計(jì)開(kāi)發(fā)、查證及確認(rèn)等能力成熟度模型流程,使得所開(kāi)發(fā)產(chǎn)品的功能安全符合所需汽車安全完整性等級(jí)[1]。ISO 21434主要從風(fēng)險(xiǎn)評(píng)估管理、產(chǎn)品開(kāi)發(fā)、運(yùn)行/維護(hù)、流程審核等4個(gè)方面來(lái)保障汽車信息安全工作的開(kāi)展。目標(biāo)是通過(guò)該標(biāo)準(zhǔn)設(shè)計(jì)、生產(chǎn)、測(cè)試的產(chǎn)品具備一定信息安全防護(hù)能力[2]。ISO21448旨在為避免因自動(dòng)駕駛汽車整車及系統(tǒng)的非失效、預(yù)期功能局限、合理可預(yù)見(jiàn)的誤用所引起的安全風(fēng)險(xiǎn),從整車層面、系統(tǒng)層面、軟硬件層面及不同系統(tǒng)組件層面如感知、決策、執(zhí)行提供了針對(duì)預(yù)期功能的風(fēng)險(xiǎn)識(shí)別、分析和設(shè)計(jì)方法[3]。
常用的安全分析方法有故障樹(shù)分析法(Fault Tree Analysis,FTA)、失效模式與影響分析(Failure Mode and Effects Analysis,F(xiàn)MEA)和危害與可操作性分析(HAZard and Operability,HAZOP)等。FTA是由上往下的演繹式失效分析法,通常采用邏輯分析的手段,既可進(jìn)行定性分析也可用于定量分析,主要用在安全工程以及可靠度工程的領(lǐng)域[4]。FMEA又稱為失效模式與后果分析、失效模式與效應(yīng)分析、故障模式與后果分析或故障模式與效應(yīng)分析等,是一種操作規(guī)程,旨在對(duì)系統(tǒng)范圍內(nèi)潛在的失效模式加以分析,以便按照嚴(yán)重程度加以分類,或者確定失效對(duì)于該系統(tǒng)的影響。FMEA廣泛應(yīng)用于制造業(yè)產(chǎn)品生命周期的各個(gè)階段[5]。HAZOP是為了識(shí)別及評(píng)估在制程上可能產(chǎn)生的問(wèn)題,結(jié)構(gòu)化及系統(tǒng)化的檢視流程及作業(yè)的方法,是一種以引導(dǎo)詞(guide-word)配合制程參數(shù)(如溫度、壓力等)為基礎(chǔ)的定性危害分析技術(shù),一般會(huì)由多部門組成的團(tuán)隊(duì)頭腦風(fēng)暴,透過(guò)多次的會(huì)議來(lái)進(jìn)行[6]。
系統(tǒng)理論過(guò)程分析(Systems-Theoretic Processes Analysis,STPA)是由LEVESON在2004年提出的一種現(xiàn)代安全分析方法,它是基于系統(tǒng)工程原理和控制理論進(jìn)行危害識(shí)別和安全約束設(shè)計(jì)[7]。傳統(tǒng)的危害分析方法FTA和FMEA均是基于可靠性理論去分析一個(gè)或多個(gè)部件失效所造成的危害。與這些傳統(tǒng)方法不同的是,STPA除了可以分析由部件設(shè)計(jì)缺陷或者部件之間不安全的交互所造成的事故,還可以用于消除或減輕系統(tǒng)早期設(shè)計(jì)階段的潛在危害。STPA已經(jīng)廣泛應(yīng)用于不同領(lǐng)域,如信息安全[8]、早期概念分析[9]、軟件安全[10]、人員控制安全等[11]。
STPA安全分析流程主要分為4個(gè)步驟[7],如圖1所示。
(1)定義安全分析目的
第一步是明確安全分析目的,比如確定防止安全損失的目的,是用于傳統(tǒng)的安全分析如防止人身傷亡還是用于信息安全、隱私、財(cái)產(chǎn)、性能等其他特性以及如何劃分具體系統(tǒng)的邊界等諸如此類的基礎(chǔ)問(wèn)題,在這一步都應(yīng)得到解決。
(2)控制架構(gòu)建模
第二步是建立系統(tǒng)模型,該系統(tǒng)模型在STPA中稱為控制架構(gòu)??刂萍軜?gòu)由一系列反饋控制環(huán)路組成,可以從中獲取功能交互關(guān)系。系統(tǒng)控制架構(gòu)一般從非常抽象的層面開(kāi)始,以便獲取更多的系統(tǒng)細(xì)節(jié)進(jìn)行迭代優(yōu)化。對(duì)于智能網(wǎng)聯(lián)汽車系統(tǒng)而言,架構(gòu)建模需要綜合考慮系統(tǒng)內(nèi)各組成子系統(tǒng)或部件之間的交互安全性。
(3)識(shí)別非安全控制行為
第三步是分析控制架構(gòu)中的非安全控制行為,確定他們是如何導(dǎo)致在第一步中所定義的損失。這些非安全控制行為可用于創(chuàng)建系統(tǒng)功能安全需求和系統(tǒng)約束。
(4)辨識(shí)損失場(chǎng)景
第四步是辨識(shí)系統(tǒng)中非安全控制行為發(fā)生的原因,并據(jù)此創(chuàng)建對(duì)應(yīng)場(chǎng)景解釋:從反饋不正確、需求不充分、設(shè)計(jì)失誤、組件失效以及導(dǎo)致非安全控制行為等方面導(dǎo)致安全損失的原因;正常輸入安全的控制行為,執(zhí)行系統(tǒng)未執(zhí)行或正確的執(zhí)行而導(dǎo)致安全損失的原因。
智能網(wǎng)聯(lián)汽車涉及到多個(gè)專業(yè)技術(shù)領(lǐng)域和應(yīng)用領(lǐng)域,其產(chǎn)業(yè)已從2018年“三跨”的“芯片模組+終端+車企”發(fā)展到2020年“新四跨”的“芯片模組+終端+車企+CA平臺(tái)”,產(chǎn)業(yè)化進(jìn)程也進(jìn)一步加快。常見(jiàn)的智能網(wǎng)聯(lián)汽車系統(tǒng)架構(gòu)分層如圖2所示,物理層面上,智能網(wǎng)聯(lián)汽車系統(tǒng)架構(gòu)可以分為四層:交通設(shè)備層、車輛智能系統(tǒng)和對(duì)外接口層、車輛網(wǎng)絡(luò)控制層及車輛部件執(zhí)行層。從功能角度出發(fā),智能網(wǎng)聯(lián)汽車系統(tǒng)分為感知層、決策層、控制層和執(zhí)行層,各層涉及到的設(shè)備或部件如表1所示,各層之間相互協(xié)調(diào)分工,其交互安全性極為重要。
圖2 智能網(wǎng)聯(lián)汽車系統(tǒng)架構(gòu)分層
表1 智能網(wǎng)聯(lián)汽車系統(tǒng)功能分層組成
文中將STPA危害分析方法用于前向碰撞預(yù)警(Forward Collision Warning,FCW)系統(tǒng)早期設(shè)計(jì)開(kāi)發(fā)中。FCW是指主車在車道上行駛,與在正前方同一車道的遠(yuǎn)車存在追尾碰撞危險(xiǎn)時(shí),F(xiàn)CW 應(yīng)用將對(duì)主車駕駛員(自動(dòng)駕駛系統(tǒng))進(jìn)行預(yù)警[12]。主車駕駛員或自動(dòng)駕駛系統(tǒng)根據(jù)預(yù)警做出決策,控制系統(tǒng)根據(jù)控制決策向執(zhí)行系統(tǒng)發(fā)送控制指令,執(zhí)行系統(tǒng)根據(jù)控制指令執(zhí)行加、減速、轉(zhuǎn)向等動(dòng)作。文中綜合考慮FCW系統(tǒng)和自動(dòng)/輔助駕駛系統(tǒng)及底層執(zhí)行系統(tǒng)之間的交互安全性。
使用STPA方法,需要從系統(tǒng)、控制流程、功能需求、安全約束及安全需求等方面去規(guī)范整個(gè)流程。因此,以FCW系統(tǒng)的現(xiàn)有架構(gòu)、信息、文檔資料作為STPA分析的基礎(chǔ)。整個(gè)STPA分析方法可分為6個(gè)步驟:(1)研究系統(tǒng)架構(gòu)、目標(biāo)、組件、需求、功能和組件交互關(guān)系;(2)提煉系統(tǒng)安全需求和安全約束;(3)識(shí)別在不可接受范圍內(nèi)的潛在事故、系統(tǒng)損失,確定系統(tǒng)的危害程度;(4)畫(huà)出系統(tǒng)功能控制框圖;(5)將STPA步驟(2)和(3)作用在系統(tǒng)控制框圖上;(6)進(jìn)一步精煉所得到的系統(tǒng)安全和約束。
通過(guò)STPA對(duì)FCW系統(tǒng)的分析,得到以下結(jié)論:
(1)影響整車功能安全的事故類型主要有兩種:一是在FCW系統(tǒng)處于激活狀態(tài)時(shí),主車與前車發(fā)生碰撞;二是當(dāng)主車的FCW系統(tǒng)探測(cè)到前方有靜置車輛時(shí),后車與主車發(fā)生碰撞。
(2)系統(tǒng)級(jí)危害主要有兩類:一是主車FCW未遵守主車和前車之間的安全距離;二是主車FCW錯(cuò)誤估計(jì)前車距離和速度。
(3)如圖3所示,通過(guò)FCW系統(tǒng)安全分析控制流程架構(gòu),可分析FCW各個(gè)子系統(tǒng)之間的交互安全性。
圖3 FCW系統(tǒng)安全分析控制流程架構(gòu)
(4)子系統(tǒng)之間非安全控制動(dòng)作可分為四類,以全球衛(wèi)星導(dǎo)航系統(tǒng)(Global Navigation Satellite System,GNSS)數(shù)據(jù)為例,第一類是沒(méi)有提供數(shù)據(jù),如GNSS沒(méi)有提供定位數(shù)據(jù);第二類是提供錯(cuò)誤數(shù)據(jù),如GNSS提供錯(cuò)誤的定位信息;第三類是提供數(shù)據(jù)的時(shí)間序列錯(cuò)誤,如GNSS提供的定位信息時(shí)間不同步,造成主車和前車根據(jù)定位信息計(jì)算出的車距與實(shí)際車距不符,導(dǎo)致實(shí)際車距超出安全距離范圍未報(bào)警或者安全車距下的誤報(bào)警;第四類是GNSS提供的信息太短或長(zhǎng)時(shí)間未更新,在這種條件下,F(xiàn)CW不能有效利用GNSS的數(shù)據(jù)計(jì)算主車和前車的車距,導(dǎo)致車距計(jì)算錯(cuò)誤造成誤報(bào)警或者發(fā)生碰撞。
(5)安全需求:安全需求分析對(duì)應(yīng)于ISO 26262中功能安全要求分析過(guò)程。使用STPA時(shí),每個(gè)非安全控制動(dòng)作將轉(zhuǎn)換成在子系統(tǒng)或部件上的安全需求。如(4)中所述第一類非安全動(dòng)作轉(zhuǎn)化成安全需求就是GNSS必須傳遞給FCW系統(tǒng)正確的定位信息。
(6)分析安全影響因素:分析安全影響因素可以幫助開(kāi)發(fā)者定義功能安全危害等級(jí)和制定安全應(yīng)對(duì)措施和方法。通過(guò)構(gòu)造形成事故或安全隱患的場(chǎng)景,進(jìn)一步細(xì)化圖3中的每個(gè)部件或子系統(tǒng)的過(guò)程模型。比如,當(dāng)主車在高速公路上行駛時(shí),前方無(wú)障礙物(如靜置車輛或慢行車),制動(dòng)系統(tǒng)卻執(zhí)行了制動(dòng)命令。假定其他控制系統(tǒng)均正常工作,則表明該非安全控制動(dòng)作是因FCW系統(tǒng)中使用了不正確的過(guò)程模型。通過(guò)進(jìn)一步分析,得出潛在影響安全的因素有:GNSS失效、天線接收裝置失效、制動(dòng)狀態(tài)反饋失效,制動(dòng)反饋延遲等。得到基本安全需求是:FCW系統(tǒng)必須確保能準(zhǔn)確接收到周圍車輛發(fā)送的信息和GNSS信息;解決措施是:通過(guò)加裝額外的傳感器用來(lái)探測(cè)前車或者后車距離,以保證在FCW系統(tǒng)失效的情況下,主車可以準(zhǔn)確判斷前后車距。
在STPA使用過(guò)程中,為了評(píng)估每個(gè)模型變量和控制循環(huán)是否會(huì)導(dǎo)致非安全動(dòng)作,需要投入大量的時(shí)間、精力以及過(guò)程模型控制的專業(yè)知識(shí),而STPA并未提供系統(tǒng)方法解決此類問(wèn)題,比如如何去檢查控制算法的完整性。因此,STPA需要一種系統(tǒng)性的方法去標(biāo)示過(guò)程模型變量、控制動(dòng)作及危害之間的關(guān)系。另外,用STPA分析系統(tǒng)控制循環(huán)中的多個(gè)控制器時(shí),仍存在一定的局限性,比如FCW系統(tǒng)涉及多個(gè)控制器模塊之間的交互,例如制動(dòng)系統(tǒng)模塊和動(dòng)力單元控制模塊(控制發(fā)動(dòng)機(jī)或者電動(dòng)機(jī))兩者協(xié)同控制車速時(shí),兩者都會(huì)接收來(lái)自制動(dòng)控制模塊的車速信息。而在早期安全設(shè)計(jì)開(kāi)發(fā)過(guò)程中,這3個(gè)控制模塊之間的動(dòng)作交互關(guān)系的細(xì)節(jié)信息并不清晰。
文中探討了STPA在汽車領(lǐng)域的應(yīng)用。STPA是一種強(qiáng)大且有效的技術(shù),通過(guò)識(shí)別一系列潛在事故場(chǎng)景,包括設(shè)計(jì)失誤、軟件缺陷、組件互操作事故以及人為失誤等方面,實(shí)現(xiàn)對(duì)汽車領(lǐng)域安全相關(guān)系統(tǒng)的事故和潛在不安全因素的分析和評(píng)估。下一步重點(diǎn)考慮將有限狀態(tài)機(jī)的方法融合到STPA分析方法中,通過(guò)有限狀態(tài)機(jī)提取控制器狀態(tài)和控制動(dòng)作之間的準(zhǔn)確而恰當(dāng)?shù)年P(guān)系,提高整個(gè)安全分析的效率。