周逢军,韩冰,赵宪华,周娜娜,许媛,魏国亮
(1.北京理工大学前沿技术研究院,山东济南 250357;2.北京理工新源信息科技有限公司,北京 100081;3.北京理工大学,北京 100081)
随着万物互联时代的到来,智能网联技术在智能交通领域得到应用。智能网联系统是车与车、车与人、车与路、车与云(平台)之间,按照约定的体系架构及其通信协议和数据交互标准,进行通信和信息交换的信息基础设施。智能网联系统的安全运行,依赖于其系统内部各子系统的安全及各子系统之间的互操作安全。因此,设计安全可靠的智能网联系统架构至关重要。
汽车安全有关的标准主要有汽车功能安全标准ISO 26262、尚未发布的汽车信息安全标准ISO 21434以及预期功能安全标准ISO 21448。其中,ISO 26262标准主要针对汽车电子系统功能安全,通过危害分析和风险评估(Hazard Analysis & Risk Assessment,HARA),得到功能安全需求等级,通过产品设计开发、查证及确认等能力成熟度模型流程,使得所开发产品的功能安全符合所需汽车安全完整性等级[1]。ISO 21434主要从风险评估管理、产品开发、运行/维护、流程审核等4个方面来保障汽车信息安全工作的开展。目标是通过该标准设计、生产、测试的产品具备一定信息安全防护能力[2]。ISO21448旨在为避免因自动驾驶汽车整车及系统的非失效、预期功能局限、合理可预见的误用所引起的安全风险,从整车层面、系统层面、软硬件层面及不同系统组件层面如感知、决策、执行提供了针对预期功能的风险识别、分析和设计方法[3]。
常用的安全分析方法有故障树分析法(Fault Tree Analysis,FTA)、失效模式与影响分析(Failure Mode and Effects Analysis,FMEA)和危害与可操作性分析(HAZard and Operability,HAZOP)等。FTA是由上往下的演绎式失效分析法,通常采用逻辑分析的手段,既可进行定性分析也可用于定量分析,主要用在安全工程以及可靠度工程的领域[4]。FMEA又称为失效模式与后果分析、失效模式与效应分析、故障模式与后果分析或故障模式与效应分析等,是一种操作规程,旨在对系统范围内潜在的失效模式加以分析,以便按照严重程度加以分类,或者确定失效对于该系统的影响。FMEA广泛应用于制造业产品生命周期的各个阶段[5]。HAZOP是为了识别及评估在制程上可能产生的问题,结构化及系统化的检视流程及作业的方法,是一种以引导词(guide-word)配合制程参数(如温度、压力等)为基础的定性危害分析技术,一般会由多部门组成的团队头脑风暴,透过多次的会议来进行[6]。
系统理论过程分析(Systems-Theoretic Processes Analysis,STPA)是由LEVESON在2004年提出的一种现代安全分析方法,它是基于系统工程原理和控制理论进行危害识别和安全约束设计[7]。传统的危害分析方法FTA和FMEA均是基于可靠性理论去分析一个或多个部件失效所造成的危害。与这些传统方法不同的是,STPA除了可以分析由部件设计缺陷或者部件之间不安全的交互所造成的事故,还可以用于消除或减轻系统早期设计阶段的潜在危害。STPA已经广泛应用于不同领域,如信息安全[8]、早期概念分析[9]、软件安全[10]、人员控制安全等[11]。
STPA安全分析流程主要分为4个步骤[7],如图1所示。
(1)定义安全分析目的
第一步是明确安全分析目的,比如确定防止安全损失的目的,是用于传统的安全分析如防止人身伤亡还是用于信息安全、隐私、财产、性能等其他特性以及如何划分具体系统的边界等诸如此类的基础问题,在这一步都应得到解决。
(2)控制架构建模
第二步是建立系统模型,该系统模型在STPA中称为控制架构。控制架构由一系列反馈控制环路组成,可以从中获取功能交互关系。系统控制架构一般从非常抽象的层面开始,以便获取更多的系统细节进行迭代优化。对于智能网联汽车系统而言,架构建模需要综合考虑系统内各组成子系统或部件之间的交互安全性。
(3)识别非安全控制行为
第三步是分析控制架构中的非安全控制行为,确定他们是如何导致在第一步中所定义的损失。这些非安全控制行为可用于创建系统功能安全需求和系统约束。
(4)辨识损失场景
第四步是辨识系统中非安全控制行为发生的原因,并据此创建对应场景解释:从反馈不正确、需求不充分、设计失误、组件失效以及导致非安全控制行为等方面导致安全损失的原因;正常输入安全的控制行为,执行系统未执行或正确的执行而导致安全损失的原因。
智能网联汽车涉及到多个专业技术领域和应用领域,其产业已从2018年“三跨”的“芯片模组+终端+车企”发展到2020年“新四跨”的“芯片模组+终端+车企+CA平台”,产业化进程也进一步加快。常见的智能网联汽车系统架构分层如图2所示,物理层面上,智能网联汽车系统架构可以分为四层:交通设备层、车辆智能系统和对外接口层、车辆网络控制层及车辆部件执行层。从功能角度出发,智能网联汽车系统分为感知层、决策层、控制层和执行层,各层涉及到的设备或部件如表1所示,各层之间相互协调分工,其交互安全性极为重要。
图2 智能网联汽车系统架构分层
表1 智能网联汽车系统功能分层组成
文中将STPA危害分析方法用于前向碰撞预警(Forward Collision Warning,FCW)系统早期设计开发中。FCW是指主车在车道上行驶,与在正前方同一车道的远车存在追尾碰撞危险时,FCW 应用将对主车驾驶员(自动驾驶系统)进行预警[12]。主车驾驶员或自动驾驶系统根据预警做出决策,控制系统根据控制决策向执行系统发送控制指令,执行系统根据控制指令执行加、减速、转向等动作。文中综合考虑FCW系统和自动/辅助驾驶系统及底层执行系统之间的交互安全性。
使用STPA方法,需要从系统、控制流程、功能需求、安全约束及安全需求等方面去规范整个流程。因此,以FCW系统的现有架构、信息、文档资料作为STPA分析的基础。整个STPA分析方法可分为6个步骤:(1)研究系统架构、目标、组件、需求、功能和组件交互关系;(2)提炼系统安全需求和安全约束;(3)识别在不可接受范围内的潜在事故、系统损失,确定系统的危害程度;(4)画出系统功能控制框图;(5)将STPA步骤(2)和(3)作用在系统控制框图上;(6)进一步精炼所得到的系统安全和约束。
通过STPA对FCW系统的分析,得到以下结论:
(1)影响整车功能安全的事故类型主要有两种:一是在FCW系统处于激活状态时,主车与前车发生碰撞;二是当主车的FCW系统探测到前方有静置车辆时,后车与主车发生碰撞。
(2)系统级危害主要有两类:一是主车FCW未遵守主车和前车之间的安全距离;二是主车FCW错误估计前车距离和速度。
(3)如图3所示,通过FCW系统安全分析控制流程架构,可分析FCW各个子系统之间的交互安全性。
图3 FCW系统安全分析控制流程架构
(4)子系统之间非安全控制动作可分为四类,以全球卫星导航系统(Global Navigation Satellite System,GNSS)数据为例,第一类是没有提供数据,如GNSS没有提供定位数据;第二类是提供错误数据,如GNSS提供错误的定位信息;第三类是提供数据的时间序列错误,如GNSS提供的定位信息时间不同步,造成主车和前车根据定位信息计算出的车距与实际车距不符,导致实际车距超出安全距离范围未报警或者安全车距下的误报警;第四类是GNSS提供的信息太短或长时间未更新,在这种条件下,FCW不能有效利用GNSS的数据计算主车和前车的车距,导致车距计算错误造成误报警或者发生碰撞。
(5)安全需求:安全需求分析对应于ISO 26262中功能安全要求分析过程。使用STPA时,每个非安全控制动作将转换成在子系统或部件上的安全需求。如(4)中所述第一类非安全动作转化成安全需求就是GNSS必须传递给FCW系统正确的定位信息。
(6)分析安全影响因素:分析安全影响因素可以帮助开发者定义功能安全危害等级和制定安全应对措施和方法。通过构造形成事故或安全隐患的场景,进一步细化图3中的每个部件或子系统的过程模型。比如,当主车在高速公路上行驶时,前方无障碍物(如静置车辆或慢行车),制动系统却执行了制动命令。假定其他控制系统均正常工作,则表明该非安全控制动作是因FCW系统中使用了不正确的过程模型。通过进一步分析,得出潜在影响安全的因素有:GNSS失效、天线接收装置失效、制动状态反馈失效,制动反馈延迟等。得到基本安全需求是:FCW系统必须确保能准确接收到周围车辆发送的信息和GNSS信息;解决措施是:通过加装额外的传感器用来探测前车或者后车距离,以保证在FCW系统失效的情况下,主车可以准确判断前后车距。
在STPA使用过程中,为了评估每个模型变量和控制循环是否会导致非安全动作,需要投入大量的时间、精力以及过程模型控制的专业知识,而STPA并未提供系统方法解决此类问题,比如如何去检查控制算法的完整性。因此,STPA需要一种系统性的方法去标示过程模型变量、控制动作及危害之间的关系。另外,用STPA分析系统控制循环中的多个控制器时,仍存在一定的局限性,比如FCW系统涉及多个控制器模块之间的交互,例如制动系统模块和动力单元控制模块(控制发动机或者电动机)两者协同控制车速时,两者都会接收来自制动控制模块的车速信息。而在早期安全设计开发过程中,这3个控制模块之间的动作交互关系的细节信息并不清晰。
文中探讨了STPA在汽车领域的应用。STPA是一种强大且有效的技术,通过识别一系列潜在事故场景,包括设计失误、软件缺陷、组件互操作事故以及人为失误等方面,实现对汽车领域安全相关系统的事故和潜在不安全因素的分析和评估。下一步重点考虑将有限状态机的方法融合到STPA分析方法中,通过有限状态机提取控制器状态和控制动作之间的准确而恰当的关系,提高整个安全分析的效率。