一种面向CAN网络的信息安全增强方法及控制器与流程

文档序号:14216615阅读:212来源:国知局
本发明是一种面向can网络的信息安全增强方法及控制器,特别是一种实时的信息安全增强方法和can信息安全增强控制器设计,可用于汽车电子网络、工业设备现场控制网络等多种工业系统领域。
背景技术
::随着汽车不断朝着智能化、互联化和电动化以及无人驾驶方向的的不断发展,越来越多的汽车电子内部网络开始通过obd、wifi、bluetooth等接口与外部网络进行通信,一方面給汽车赋予更多智能化和舒适的功能,同时也給汽车带来了新的信息安全问题,can网络作为使用最为广泛的一种汽车内部网络,其本身的设计的初衷在于提供一种高效率、稳健的现场总线网络,旨在降低链接汽车各个ecu的线束和降低汽车生产成本,提高效率,并没有考虑信息安全方面的问题,已有研究者通过实验实现了对汽车的远程无线攻击和控制,越来越多的研究表明针对汽车can网络的安全攻击成为可能,例如dos攻击和重放攻击,针对can网络的安全攻击将造成严重的用户生命财产损失;然而can在设计之初没有考虑信息安全的问题,缺乏消息认证和数据加密的功能,但在汽车领域通过can网络互联的ecu往往是安全关键的,例如防抱死系统(anti-lockbrakingsystem(abs))等,这类系统有着严格的端到端的时延和强实时间约束,因此在设计信息安全增强方法的同时需要考虑到计算和通信时间开销給这类系统带来的问题。针对can的信息安全增强设计显得尤其重要,现有研究在进行信息安全争强的同时不免带来了更多的计算和通信开销,而本发明旨在不增加计算资源和通信开销的情况下,利用can网络本身的广播通信的特性,采用了消息计数器作为同步参数,提出一种消息id跳变的信息安全增强方法,并为实现本方法设计了基于fpga的信息安全增强控制器设计,这种优化方案也符合当代汽车系统的增量设计风格,即在不改变原有平台的前提下仅对当前系统进行渐进式的升级。can网络是一种基于广播的消息id优先级总线,1986年由robertboschgmbh发明,被设计用于满足汽车实时系统下串行总线要求,具有良好的抗干扰能力和较高的带宽,现在已经成为汽车总线协议的标准规范,被广泛应用于汽车领域,can具有四种不同的协议帧。其中基本协议帧由仲裁id域、控制域、数据域、crc域、ack域和帧结束符以及3bits的帧间隔位组成,其中普通帧仲裁id域为11bits,扩展帧为29bits。can采用无损仲裁方式解决消息并发冲突,id域即作为消息的接收目的节点识别符,同时也是消息传输冲突时用于仲裁的优先级,其中id数值越小,优先级越高。目前的can协议及其信息安全增强方法存在以下不足:1)一般的can协议本身没有安全机制,can协议是一种基于广播的串行总线网络,因此一旦被非法接入,攻击者即可实现消息侦听、重放、伪装攻击等行为,can消息采用基于优先级的无损仲裁机制,其消息id数值越小,优先级越高;2)现有的信息安全增强方法主要包括,消息加密、mac等方法、can+三种类型,其中消息加密需要消耗大量的计算资源和时间开销,mac的方法不可避免的需要消耗消息桢的有效数据段,而can协议的数据段资源仅有16bytes,can+协议需要通过握手等方式实现消息的认证,这将需要额外的消息,降低了网络有效利用,另外更重要的是,以上针对can的信息安全增强方法都将影响can消息的可调度行分析,这对汽车电子这类安全关键的实时系统将造成重大影响。综上,现有的can是一种缺乏信息安全保护机制的网络协议,而现有的信息安全增强方案又将带来计算和时间的开销,且将影响系统消息的可调度性。技术实现要素:本发明的首要目的是,针对当前can协议无法提供信息安全保障,且现有针对can协议提出的信息安全争强方法存在计算和通信带宽及时间开销的问题,提供一种实时,符合汽车产品开发特点的can协议信息安全增强方法,并通过fpga设计了专用控制器来实现该方法,通过采用本发明方法能够有效抵御can网络中的重放,伪装等攻击,提高系统防范逆向工程的效果,使用本发明可兼容现有系统设计,因此具有经济高效的特点。为解决上述技术问题,本发明采用以下技术方案,一种面向can网络的信息安全增强方法及控制器,它的步骤为:(1)根据系统设计需求和资源约束,完成可调度性分析、消息集分配及消息优先级id分配后确定系统ecu集合e{e1,e2,e3,…,en}中所有ecu节点的应用层消息数量n及其相对优先级顺序pm{p1,p2,…,pn},根据系统需求对ecu进行消息分配,确定各个ecu所包含消息子集ei(m1,m2,m3,…,mn)(包括发送和接收消息);(2)从可用can消息id可选范围0-2048中选取数量为n的不重复消息id集按照优先级从高到低的顺序排序后作为一组物理层id作为一页id组,按信息安全级别的1、2、3级分布生成4、8、16组组合系统层面id_hopping_table;(3)根据消息子集ei(m1,m2,m3,…,mn)、pm{p1,p2,…,pn}和系统层id_hopping_table按照消息分配,生成ecu层面ei_id_hopping_table,并依据其中各页id接收消息集合生成各ecu对应的新的掩码及消息过滤寄存器相加后得到新的ei_id_hopping_table;(4)在系统生成部署阶段将ei_id_hopping_table和排序后的应用层id集ei(m1,m2,m3,…,mn)写入到各ecu的can安全增强控制器寄存器当中,其中寄存器写入后锁定为只可读模式;(5)系统通过启动指令0x000进行服务和启动,系统运行中所有ecu中安全增强控制器对当前网络传输的消息进行计数,当收到同步跳变指令或计数器累计到达触发跳变阀值,全局ecu同步跳变到下一页物理层id组。一种面向can的信息安全增强方法及控制器,所述控制器包括跳变控制模块(1)、排序后的应用层id存储模块(2)、id_hopping_table存储模块(3)、消息计数器模块(4)以及接收过滤器(5),所述跳变控制器模块其功能为控制同步跳变,控制应用层消息id到物理层消息id的映射,实现对物理层消息id到应用层消息id的还原和fifo写入,通过对接收过滤器寄存器及掩码的写入等保障伪装和重放攻击的消息id被阻隔,符合要求的消息id将被接收处理。作为本发明的进一步改进,所述id_hopping_table的生成步骤为:(1)根据系统设计需求和资源约束,通过可调度性分析、消息集分配及消息优先级id分配,确定系统ecu集合e{e1,e2,e3,…,en}中所有ecu节点的应用层消息数量n及其相对优先级顺序pm{p1,p2,…,pn},根据系统需求确定ecu于消息集之间的关系,确定各个ecu所包含消息子集ei(m1,m2,m3,…,mn)(包括发送和接收消息);(2)从可用can消息id可选范围0-2048中选取数量为n的消息id集按照优先级从高到低的顺序排序后作为一组物理层id集作为一页id集,按信息安全级别的1、2、3级分布生成4、8、16组组合系统层面id_hopping_table=ids[n_page][k][11or29bits],其中可用组合id数可通过组合计算公式:(1)得到,例如对于一个包含200个消息集的can网络系统,其中n为2018,k为200,那么可用id组合为,这将是一个非常巨大的数,为我们的系统实现物理层多样id提供了支撑;(3)为提高系统的安全性能,我们希望得到的id_hopping_table具有更好的多样性,非格式化的组合,其中目标函数为得到信息熵最大化的id_hopping_table。为计算所生成id_hopping_table的信息熵,定义can系统,其中为时间窗口t内出现的系统id集合,为系统消息id周期(周期消息)或最小间隔时间(非周期消息),因此在观察时间t内,系统消息id的信息熵可表示为:(2)由于本步骤是在系统设计通过可调度性分析以后的,因此在时间t内系统可能会出现的总id数量ntotal可通过公式:(3)计算得到,另外idi在时间t内将出现的次数为,进而idi在时间t内出现的概率p(idi)可表示为:(4)显然可见的是,,p(idi)>0(i=1,2,…,n)。因此idi的不确定性参数为:(5)因此在采样周期t内,idi的信息熵可计算为:(6)系统在采用周期t内的平均信息熵则可表示为:(7)因此根据以上分析方法,可采用模拟退火等启发式算法或ilp工具生成目标id_hopping_table,所述id_hopping_table是在系统设计阶段生成的,因此其生成时间开销对系统运行本身不会产生影响。以现有技术相比,本发明的优点在于:(1)不改变应用层消息id,通过信息安全增强控制器设计,实现物理层消息id的多样化和匿名化;(2)由于消息相对优先级顺序没有发生改变,因此基于id仲裁和优先级分配的can消息可调度性分析模型没有发生变化,可以很好的确保消息可调度性,同已有系统设计和上层协议进行兼容;(3)由于通过fpga硬件实现消息的转换和映射,响应时间短,时间开销小,可应用于安全关键的系统领域;(4)由于物理层实际传输的消息id在不断跳变,提高了系统抗逆向工程和匿名及重放攻击的能力。一种面向can网络的信息安全增强方法及控制器,存在两种情况将触发id表格页面的跳变,1)在消息跳变阶段,当网络中成功传输的消息数量达到触发阀值(本实施里中为8),网络中所有ecu对物理层id页面进行一次跳变,所述跳变包括下一页面或跨跃性跳变,于此同时,各ecu节点根据当前物理层消息id页面及所需要接收的消息id得到新的消息接收过滤参数寄存器。以达到对非本节点消息的过滤功能,2)当网络中设定为控制节点的ecu发出同步跳变指令,id为0x000,所有ecu节点在接收到该指令后,网络中所有ecu对物理层id页面进行一次跳变。综上,可知本发明的工作原理是:通过控制器的设计和部署,利用相对优先级顺序将can网络中的应用层id与物理层id建立一种映射关系,在保证应用层消息id不变的情况下,通过设计阶段预先生成多组物理层消息id,在系统运行过程中,通过跳变控制器和同步参数来对物理层信息id进行动态的跳变动作,所述同步参数包括基于can广播特性的消息计数器,和通过控制节点发出的高优先级id,由于系统跳变的同步,和相对优先级的保持,系统可在保障实时性的同时,将实际物理层传输的id进行动态变化,可有效的抵御重放、伪装、目标dos等攻击,且能够提高逆向工程的防御能力。本发明公开了一种面向can网络的信息安全增强方法及控制器,通过控制器将can应用层id转变为一种动态跳变的物理层id,1)在消息发送状态通过网络控制器将应用层的消息id映射为物理层id,然后再通过物理层传输;2)在消息接收状态将通过接收过滤器后的接收的物理层id还原为应用层id,写入fifo供应用层使用,所述方法各时刻消息优先级相对顺序不变,其中应用层id根据系统设计需求确定,物理层id根据应用层id相对优先级顺序及同步参数查表获取,所述表格为id跳变表格,所述id包括11bits和29bits两种,所有ecu当前物理层id页可通过消息计数器进行跳变同步,所述控制器为一种用于连接应用层和物理层的网络控制器,包括跳:变控制模块(1)、排序后的应用层id存储模块(2)、id_hopping_table存储模块(3)、消息计数器模块(4)以及接收过滤器(5);本发明可实现物理层id的匿名化,通过采用本发明方法能够有效防御can网络中的重放攻击,伪装攻击,提高系统防止逆向工程的能力,可兼容现有系统设计和上层协议规范(例如saej1939),具有实时、不占用通信带宽和经济高效的特点。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是发明实施例中,一种基于fpga的信息安全增强can控制器及方法。图2是发明实施例中,普通can系统设计流程和本发明基于id跳变的can设计流程对比图。图3是一个消息id跳变的实例。图4是分别从消息和ecu的视角来看id_hopping_table。图5是消息id跳变的数据流图。图6是控制器设计框图。附图标记说明:1.跳变控制模块,2.排序后的应用层id存储模块,3.id_hopping_table存储模块,4.消息计数器模块,5.以及接收过滤器。具体实施方式以下将结合说明书附图和具体实施例对本发明做进一步详细说明。如图1所示,本发明提供一种信息安全争强的can其控制器及方法,can协议可分为应用层、数据链路层和物理层,消息id在各个层分别为应用层id物理层id和数据链路层id,其中本发明一种信息安全争强的can方法及其控制器工作与数据链路层,在装配有本控制器的ecu节点,所述方法步骤为:(1)根据系统设计需求和资源约束,完成可调度性分析、消息集分配及消息优先级id分配后确定系统ecu集合e{e1,e2,e3,…,en}中所有ecu节点的应用层消息数量n及其相对优先级顺序pm{p1,p2,…,pn},根据系统需求对ecu进行消息分配,确定各个ecu所包含消息子集ei(m1,m2,m3,…,mn)(包括发送和接收消息);(2)从可用can消息id可选范围0-2048中选取数量为n的不重复消息id集以优先级从高到低的顺序排序后作为一组物理层id作为一页id组,按信息安全级别的1、2、3级分布生成4、8、16组组合系统层面id_hopping_table;(3)根据消息子集ei(m1,m2,m3,…,mn)、pm{p1,p2,…,pn}和系统层id_hopping_table按照消息分配,生成ecu层面ei_id_hopping_table,并依据其中各页id接收消息集合生成各ecu对应的新的掩码及消息过滤寄存器相加后得到新的ei_id_hopping_table;(4)在系统生成部署阶段将ei_id_hopping_table和排序后的应用层id集ei(m1,m2,m3,…,mn)写入到各ecu的can安全增强控制器寄存器当中,其中寄存器写入后锁定为只可读模式;(5)系统通过启动指令0x000进行服务和启动,系统运行中所有ecu中安全增强控制器对当前网络传输的消息进行计数,当收到同步跳变指令或计数器累计到达触发跳变阀值,全局ecu同步跳变到下一页物理层id组。通过本发明,将can在保持应用层id、在同一时刻下,新查表获取的物理层消息id相对优先级同应用层id相对优先级一致的情况,通过网络控制器的改进设计,是的物理层实际传输的消息id在时间维度上,达到了多样化的动态变化的效果,而不是传统can网络中,一个消息对应一个id在整个产品生命周期中保持不变的情况。如图2所示,普通can系统设计流程和本发明基于id跳变的can设计流程对比图,其中通用can系统设计消息id可选范围0-2048中选取数量为n的消息id集以优先级从高到低的顺序排序后作为一组物理层id集作为一页id集,然后根据设计分配到各ecu当中,而在本发明的id跳变方法中,将通过id_hopping_table生成算法按信息安全级别的1、2、3级分布生成4、8、16组组合系统层面id_hopping_table,再分配到各ecu,并根据消息子集ei(m1,m2,m3,…,mn)、pm{p1,p2,…,pn}及系统层id_hopping_table,得到ecu层面ei_id_hopping_table,并依据其中各页id接收消息集合生成各ecu对应的新的掩码及消息过滤寄存器相加后得到新的ei_id_hopping_table。如图3所示,本实施例中,id_hopping_table存储于数据链路层的控制器中,表的大小为phy_ids*pages_number,本实施例中为4*11。消息从一个ecu节点发送到另外一个ecu节点的过程为,从应用层的消息通过写入寄存器控制网络控制器进行发送操作的同时,本发明的控制器将通过该应用层id所在优先级顺序,以及当前物理层id页读取一个对应的物理层id,用于网络发送,由于此刻接收ecu与发送ecu通过同步参赛,所在物理层页面为同一个,因此在通过该接收ecu的接收过滤器以后,该物理层id被接收,并由本发明的控制器根据其所在物理层页的相对优先级顺序映射出应用层id写入到fifo寄存器缓存中,同时,由于非该消息的接收节点,通过接受过滤,将不是本节点的消息直接过来,而不会产生计算开销,由于物理层id页面根据消息计数器在不断的跳变,因此可以通过该方法有效的抵御重放鹤匿名消息id攻击。id_hopping_table表,为一个三维id表格,每一页id表都可作为一个状态下的id资源;其中从系统的角度看,包括系统中所有传输的消息id,从ecu的角度考虑包括该ecu阶段收发的所有消息id,从单个消息的角度看为一个id系列;消息计数器,通过记录当前网络中成功传输的消息数量,接收过滤器模块,根据新的过滤设置来对非本节点消息进行过滤。如图4所示,本发明消息id的跳变方法分为,can系统中每一个消息对应一个独一无二的消息id,因此在不同的时刻,每个消息的id是不一样的,id_hopping_table的大小取决于消息集的数量和跳变的页数ids[n_page][k][11or29bits],如图4所示,可分别从消息的视角和从ecu的视角来看id_hopping_table。如图5所示,为本发明中消息id从应用层到物理层、从物理层消息id到应用层这样一个完整消息收发过程中的工作流,其中:1)在消息发送状态,通过控制器将应用层的消息id映射为物理层id,然后再通过物理层传输,具体步骤为:当前ecu节点应用层消息id通过查找网络所有节点应用层根据优先级排序后的id表,得到消息的优先级顺序,根据该顺序参赛通过查找id_hopping_table获取当前页的物理层消息id表,得到新的物理层消息id,将其替换掉原有消息带来的应用层id后,消息通过网络控制器发送到物理线路;2)在消息接收状态将物理层id还原为应用层id,写入fifo供应用层使用,具体步骤为:当ecu接收到通过接收过滤器后的消息,通过查找id_hopping_table获取当前页的物理层消息id表,得到该消息的相对有优先级顺序参赛,根据该参数查找所有节点应用层根据优先级排序后的id表,得到消息应用层id,写入fifo寄存器,供应用层使用。如图6所示,所述控制器包括:跳变控制模块(1)、排序后的应用层id存储模块(2)、id_hopping_table存储模块(3)、消息计数器模块(4)以及接收过滤器(5);所述跳变控制器模块其功能为控制同步跳变,控制应用层消息id到物理层消息id的映射,以及物理层消息id到应用层消息id的还原和fifo写入,接收过滤器寄存器及掩码写入等保障本发明中基于消息id跳变原理的实现;其中本发明基于开源社区opencores提供的can控制器verilog源代码进行设计,该代码完全兼容saj1000控制器,支持can2.0a/b。消息发送阶段,控制器根据消息优先级相对顺序来来映射到当前状态下的物理层id;消息接收阶段,控制器通过当前物理id的相对优先级顺序来映射应用层id,其中当前物理id所在页面通过同步参赛来进行同步。以上仅是本发明的基本事实方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出对于本
技术领域
:的技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1