本文将重点对ISO/SAE21434标准中,汽车全生命周期网络安全风险管理的各阶段中活动展开介绍,以帮助从业者更好地理解抽象的标准描述,为实践工作提供支持。下图为标准中提供的网络安全风险管理概览图。
图1ISO/SAE21434网络安全风险管理概览图[1]
概念阶段
图2概念阶段章节分布图
图3概念阶段网络安全活动示意图
产品开发阶段
网络安全概念阶段之后,即进入了产品开发阶段(ProductDevelopmentPhase),该阶段主要有产品开发及网络安全确认两大子阶段,该阶段的章节分布如下图所示。
图4产品开发阶段章节分布示意图
产品开发子阶段的主要活动为产品的设计开发及集成验证阶段。下图为产品开发阶段的主要活动示意图。
图5产品开发步骤示意图
完成上述阶段后,将进入网络安全确认(CybersecurityValidation)阶段,该阶段的主要目标是确认网络安全目标被达成,且系统中没有不合理的风险存在。确认活动主要可通过审查的方法完成,包括审查工作输出以确保目标系统达成了网络安全目标、审查所有的已受到管理的风险等。
验证(Verification)与确认(Validation)是产品开发阶段中两个较为重要的活动,在实践工作中,这两个词的含义经常被混淆。ISO/SAE21434中也对这两个词做了明确的定义。“确认”指通过提供客观的证据,以确认目标对象的网络安全目标是足够的且已经被实现了的。“验证”指通过提供客观的证据,以确认所规定各类要求已被满足。两个词都是指通过提供客观证据以确认某些事项,“确认”活动所需对标的是较为上层的需求,而“验证”活动所对标的是具体的系统设计要求。一位软件工程领域的先驱者BarryBoehm于1979年简明准确地解释了两者的区别。“验证”是关于问题”我们是否正确地制造了产品?“(Arewebuildingtheproductright?)而“确认”是关于“我们是否制造了正确的产品?”(Arewebuildingtherightproduct?)[2]。下图中为ISO/SAE21434中对产品开发阶段的各个活动关系的描述,其中清晰地表明了“验证”与设计阶段的网络安全规范对应,而“确认”则与概念阶段所输出的上层需求对应。
图6基于V模型的产品开发阶段活动示意图
请注意,V字开发模型并不是在汽车网络安全开发中唯一可用的开发模型。ISO/SAE21434中特别指出了可以使用除V字模型外其他的开发方法,例如敏捷开发方法。
后开发阶段
在完成了开发阶段后,产品即进入了后开发阶段(Post-DevelopmentPhases),其主要包括生产、运行及维护以及退出等三个子阶段。下图为ISO/SAE21434中关于后开发阶段活动的章节分布示意图。