专注于车载信息安全和预期功能安全技术研究
电话:+86 21 62655001
您的位置: 网站首页 > 技术成果
2020-06-09 14:34:20

基于区块链的自动驾驶预期功能安全评估方法

来源:技术成果 浏览次数:441 点赞数:2

本文提出一种基于DAG区块链的预期功能安全评估算法,该算法将DAG区块链技术与期功能安全结合,基于信用评估的方式对预期功能进行安全评估。

1. 研究背景

在自动驾驶领域,安全性的研究也随着自动驾驶技术的成熟变得丰富。自动驾驶安全除了信息安全和功能安全之外,预期功能的安全性(SOTIF)也成为道路车辆自动驾驶安全关注的重点。SOTIF是由未知或不确定的非系统故障或人员误操作引起的。SOTIF中触发事件的未知性和不确定性导致了研究的困难。

目前,虽有不少高校及研究机构提出了一些解决方案,但国内对预期功能安全的研究仍处于起步阶段。在已有的方案中,主要是基于对触发事件发生的概率和容忍度的计算结果对触发事件的安全性进行分析的方案,和基于Carsim动力模型,Simlink模拟自动驾驶算法,并结合dSPACE进行仿真的方案。

在上述方案中,触发事件的未知性和不确定性的特性没有被考虑其中,只能基于已有的触发事件数据库进行判断,需要大量的数据支撑,在预期功能安全研究的起步阶段不具备大数据分析的研究基础。


2.研究内容

基于区块链的自动驾驶预期功能安全评估方法,基于DAG区块链技术,融合预期功能系统,实现预期功能的安全评估。基于数据对预期功能安全进行客观评估。评估方式与在环测试结合,不需要依靠大量的传统经验进行判断,对当时测试数据进行分析。使用对节点的信用评估结果来作为安全评估的结果。对每一个硬件或部件都进行了安全性、可靠性分析,评估结果较为完整。

基于零日漏洞的自动驾驶预期功能安全危害评估方法,具体包括以下四个步骤:

步骤一:数据初始化。数据初始化阶段首先是节点初始化将参与在环测试的所有硬件都生成所对应的全节点或轻节点以及一个特定全节点管理人,分配对应的公私钥对,并为除管理人节点外其他的所有全节点和轻节点创建信用账户,并预设等额信用币;




图1:系统初始化的结构


步骤二:数据模拟。数据模拟阶段需要先把测试数据以测试场景为单位进行切片,每个时间切片都对应一个测试场景。按照时间顺序将切片数据依次输入,每个时间切片数据输入后都将输出一个DAG区块链,每个DAG区块链都是独立的,但都是具有时间先后顺序的。只有前一个时间切片的数据输入完成并且对所有参与节点信用奖励或惩罚之后再输入下一个时间切片的数据。在数据模拟中,每一个节点所产生的数据都将作为交易,产生数据的节点称为交易的发起节点,接收数据的节点称为交易的接收节点。交易过程为一个新的交易在接入DAG区块链上之前,需要验证两个已经接入链中的交易,交易验证时需要遵循制定的交易验证规则。交易验证过程,TX被创建之后会预接入到DAG链上,此时该TX未验证链上的指定父交易,这样的TX被称为Tip。TX预接入DAG链上之后,将会选取指定的两个父交易进行验证,验证成功后TX才算正式接入DAG链,等待后续的子交易接入并验证该TX。交易所验证的前两个交易的hash值(Prehash)由该交易的两个父交易的hash值计算而来。交易验证时,对父交易的hash值、签名等进行验证,验证后将两个通过验证的父交易的hash值组合计算为Prehash存储起来;Prehash的计算方式为

;Thash的计算方式为分别是两个父交易的hash值。交易验证规则,在选择验证对象时,有以下规则:规则一,选择验证新交易的发起节点作为接收节点角色的交易;规则二,若符合规则一的交易不足两个,则以规则一找到的交易为基点再根据规则一向前追溯,向前追溯得到两个父交易时,优先选择基点交易的直系父交易;规则三,优先选择被验证次数较少的交易,若均符合前置规则并且被验证次数相同,则优先选择信用较低的交易发起节点发起的交易,若有多个交易的交易发起节点信用相同,则优先选择交易发起时间靠前的交易。根据规则一,若恰好有两个交易符合规则,则把这两个作为新交易的父交易被验证,若只有一个交易符合规则,则以该交易为基点,以规则二的原则向前追溯交易,向前追溯所得交易中,以规则三为原则选择一个符合要求的交易与该交易组成两个父交易。

图2:交易验证方向


步骤三:交易路径回溯。交易路径回溯时,若终止交易被验证为安全交易,向前回溯的所有交易中与终止交易的数据观点相悖的交易的参与节点将受到信用惩罚,其余节点将受到信用激励。若终止交易被验证为危险交易,向前回溯的所有交易中与终止交易的数据观点相悖的交易的交易方将受到信用激励,其余节点将受到信用惩罚;路径回溯,在进行路径回溯时,首先对终止交易的性质进行确认,判断终止交易是安全交易还是风险交易,其次验证每个交易的数据是否和终止交易的数据方向保持一致,并根据信用评估的原则对交易对应的节点进行信用激励或信用惩罚。在进行信用激励或惩罚上有两个要求,一,要求信用激励一次性进行,不随时间的推迟而加强或减弱激励效果,但可随着信用惩罚逐渐减弱信用激励的效果,直至信用激励的效果归零;二,要求信用惩罚随着交易路径的增加逐渐减少效果,但永不可消除信用惩罚的影响;信用余额的计算方式为,其中表示节点的信用账户余额,表示节点受到的信用激励,表示节点受到的信用惩罚;信用激励的计算方式为表示节点参与的交易路径并在交易路径中起积极作用的交易路径的数量;表示在第k条交易路径上,节点被验证的次数;节点被验证次数越多,证明节点的可信度越高,其信用激励就越多。信用激励的累积是节点参与的并起积极作用的交易路径的数量的算术平均数;信用惩罚的计算方式为,其中,表示节点参与的交易路径并在交易路径中起消极作用的交易路径的数量;表示在第k条交易路径上,节点被验证的次数;节点被验证次数越多,证明节点在该交易路径中的消极作用影响程度越深,对其信用惩罚就越严格。信用惩罚将随着交易路径的增多逐渐降低前序交易路径中的惩罚程度。

步骤四:评估结果输出。在环测试结束之后,输出各节点的信用账户余额,并以此代表对应节点的危险性,信用账户余额越低,节点风险性越高。信用评估结果,信用评估结果是对预期功能安全评估的量化结果,节点的信用余额即为评估结果。


3、算法分析




图3:创建节点算法效率


创建节点算法随节点数量增多,所消耗的时间也在增多,由于节点创建时涉及公私钥对的创建,导致效率较低,时间消耗较大。当节点数量从0升至30时,算法效率逐渐下降。节点数量大于30之后,算法效率下降速度较于节点数量为0-30时变快。




图4:交易发生算法效率


交易发生时间随交易数量递增而增加的幅度较为平缓,平均每笔交易发生的时间较为稳定,不会随交易数量的增加而导致平均交易时间明显增加。