基于TrustZone的CAN总线数据防护方法及系统技术方案

技术编号:18084430 阅读:23 留言:0更新日期:2018-05-31 12:49
本发明专利技术一种基于TrustZone的汽车CAN总线数据防护方法及系统,所述方法是基于具有支持TrustZone技术的设备平台的汽车,设备平台至少包括处理器和CAN设备,所述处理器可运行在安全态和非安全态,所述设备平台可运行安全操作系统和普通操作系统,包括设置汽车安全CAN设备过程和车辆控制数据传送过程;设置汽车安全CAN设备模块和车辆控制数据传送模块。通过与车辆通信的CAN模块运行在安全操作系统上,普通操作系统不能直接访问安全CAN模块,需通过安全操作系统进行CAN数据收发。实现不需要外接安全加密芯片或者防火墙设备,或者使用秘钥,即可以有效的阻止车辆CAN总线遭受来自外部的恶意攻击。

【技术实现步骤摘要】
基于TrustZone的CAN总线数据防护方法及系统
本专利技术属于计算机信息安全
,具体涉及一种基于TrustZone的CAN总线数据防护方法及系统。
技术介绍
汽车已经从奢侈品逐渐变成大众消费品,而人们对汽车的需求也不仅仅只满足于它的代步功能,对车上的影音娱乐系统和人机交互体验的要求也逐渐提高,而这些功能都是依赖操作系统进行实现的。车载娱乐和车载控制系统就成为了黑客们新的攻击目标。如果这个操作系统被黑客攻陷,黑客就可以随意控制车辆的运行状态,从而车上人员的安全都将受到极大的威胁。随着车联网的快速发展,汽车信息安全尤为重要。防止车辆被攻击就是要保护车辆总线免受来自外部非法手段的攻击,目前主要的数据保护方式有:1.对经过总线的数据进行加密,缺点是会严重影响车身网络的带宽。2.采用数字签名的方式,车身总线的安全数据在传输时进行数字签名,是一种有效的数据保护方法,同时不受网络带宽影响。但这种方法如果秘钥丢失,则风险较大,缺点是需要额外对秘钥进行保护;3.安装防火墙,在总线接口上安装硬件防火墙,防止恶意攻击。缺点就是需要增加额外的硬件设备。
技术实现思路
本专利技术在于为解决上述问题而提出一种使用TrustZone技术来保护汽车CAN总线的方法及系统,该技术把运行软件和底层硬件分成安全和普通两部分,只有运行于安全环境的软件才能访问处于安全环境的设备,这种方法可以有效的防止来自车载控制系统非安全软件的攻击。本专利技术一种基于TrustZone的CAN总线数据防护方法,所述方法是基于具有支持TrustZone技术的设备平台的汽车,设备平台至少包括处理器和CAN设备,所述处理器可运行在安全态和非安全态,所述设备平台可运行安全操作系统和普通操作系统,包括如下过程:设置汽车安全CAN设备过程:将与汽车CAN总线进行通信的CAN设备设置成安全CAN设备,只有处于安全态的处理器才能访问CAN设备;安全操作系统运行在处理器的安全态,只有运行在安全操作系统的软件才能访问CAN设备;车辆控制数据传送过程:当运行于普通操作系统的汽车控制客户端程序需要通过CAN设备发送车辆控制数据时,其调用运行于安全操作系统的安全汽车控制服务端程序,使处理器由运行在非安全态模式切换到运行在安全态模式,进而访问CAN设备完成车辆控制数据传送,从而确保数据传送的安全。进一步的,车辆控制数据传送过程具体包括如下步骤:S1.运行于普通操作系统的汽车控制客户端程序把需要发送的CAN数据按数据帧格式写入共享内存中,进入S2步骤;S2.汽车控制客户端程序调用TrustZone底层驱动程序,并传入一个参数A,然后进入休眠等待,进入S3步骤;S3.TrustZone底层驱动程序把传入的参数A保存到固定地址,然后调用SMC指令,使处理器进入到监控模式下,进入S4步骤;S4.监控模式下的监控程序把当前环境切换到安全态,并跳到安全操作系统,进入S5步骤;S5.安全操作系统内部通信管理器根据TrustZone底层驱动程序保存的参数A,调用相应的安全汽车控制服务端程序,进入S6步骤;S6.安全汽车控制服务端程序读取共享内存中的数据帧并进行安全认证,进入S7步骤;S7.若安全认证通过,则安全汽车控制服务端程序调用CAN总线驱动程序,把CAN数据发送到安全CAN设备上,并产生正确的结果,进入S8步骤;否则产生错误的结果并生成结果数据帧C,进入S9步骤;S8.安全汽车控制服务端程序接收来自汽车的CAN响应数据,并把S7步骤中正确的结果和CAN响应数据生成结果数据帧D,进入S9步骤;S9.安全汽车控制服务端程序把结果数据帧C或结果数据帧D写入共享内存中,进入S10步骤;S10.安全汽车控制服务端程序调用安全操作系统内部通信管理器,并传入一个可确定汽车控制客户端程序的参数B,进入S11步骤;S11.安全操作系统内部通信管理器调用SMC指令使处理器进入监控模式,进入S12步骤;S12.监控模式下的监控程序把当前环境切换到非安全态,并跳到普通操作系统,进入S13步骤;S13.TrustZone底层驱动程序根据传进来的参数B确定并通知汽车控制客户端程序,进入S14步骤;S14.汽车控制客户端程序被唤醒,读取共享内存中的数据内容,数据发送完成。进一步的,所述处理器为ARM处理器。本专利技术还包括一种基于TrustZone的CAN总线数据防护系统,包括:设置汽车安全CAN设备模块:用于将与汽车CAN总线进行通信的CAN设备设置成安全CAN设备,只有处于安全态的处理器才能访问CAN设备;安全操作系统运行在处理器的安全态,只有运行在安全操作系统的软件才能访问CAN设备;车辆控制数据传送模块:用于当运行于普通操作系统的汽车控制客户端程序需要通过CAN设备发送车辆控制数据时,其调用运行于安全操作系统的安全汽车控制服务端程序,使处理器由运行在非安全态模式切换到运行在安全态模式,进而访问CAN设备完成车辆控制数据传送,从而确保数据传送的安全。本专利技术的有益效果是:通过在TrustZone技术平台上运行安全和普通两个操作系统,与车辆通信的CAN模块运行在安全操作系统上,普通操作系统不能直接访问安全CAN模块,需要通过安全操作系统的安全检查,并通过安全操作系统进行CAN数据收发。实现不需要外接安全加密芯片或者防火墙设备,或者使用秘钥,即可以有效的阻止车辆CAN总线遭受来自外部的恶意攻击。附图说明图1为基于ARMTrustZone技术的处理系统工作原理图;图2为采用TrustZone技术进行汽车CAN总线数据保护的原理框图。具体实施方式为进一步说明各实施例,本专利技术提供有附图。这些附图为本专利技术揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本专利技术的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。现结合附图和具体实施方式对本专利技术进一步说明。本专利技术工作原理:支持ARMTrustZone技术的ARM处理器可以运行在安全态和非安全态,当安全态寄存器SCR(系统控制寄存器)的NS(Non-secure非安全核)位为0时,ARM处于安全态,NS为1时,ARM处于非安全态,类似于TrustZone把处理器虚拟成两个处理器,一个运行于安全态,一个运行于非安全态。同时TrustZone支持把平台上的设备资源划分成安全资源和非安全资源。安全态的处理器可以访问安全和非安全的所有资源,而非安全态的处理器只能访问处于非安全态的资源。支持TrustZone的硬件平台上运行两个操作系统,普通操作系统(如linux、android)和安全操作系统,安全操作系统(secureworld)运行在ARM安全态,普通操作系统(normalworld)运行在ARM非安全态,如图一所示。运行在secrueworld的软件可以访问平台上的所有资源,而运行在normalworld的软件只能访问设置为非安全态的资源。Normalworld上面运行着很多普通的运用程序,比如多媒体播放,网络浏览器等,这些应用都是和安全不相关的,而secureworld上运行的是与安全服务端程序securityservice,用于为非安全的安全客户端程序se本文档来自技高网...
基于TrustZone的CAN总线数据防护方法及系统

【技术保护点】
一种基于TrustZone的汽车CAN总线数据防护方法,其特征在于:所述方法是基于具有支持TrustZone技术的设备平台的汽车,设备平台至少包括处理器和CAN设备,所述处理器可运行在安全态和非安全态,所述设备平台可运行安全操作系统和普通操作系统,包括如下过程:设置汽车安全CAN设备过程:将与汽车CAN总线进行通信的CAN设备设置成安全CAN设备,只有处于安全态的处理器才能访问CAN设备;安全操作系统运行在处理器的安全态,只有运行在安全操作系统的软件才能访问CAN设备;车辆控制数据传送过程:当运行于普通操作系统的汽车控制客户端程序需要通过CAN设备发送车辆控制数据时,其调用运行于安全操作系统的安全汽车控制服务端程序,使处理器由运行在非安全态模式切换到运行在安全态模式,进而访问CAN设备完成车辆控制数据传送,从而确保数据传送的安全。

【技术特征摘要】
1.一种基于TrustZone的汽车CAN总线数据防护方法,其特征在于:所述方法是基于具有支持TrustZone技术的设备平台的汽车,设备平台至少包括处理器和CAN设备,所述处理器可运行在安全态和非安全态,所述设备平台可运行安全操作系统和普通操作系统,包括如下过程:设置汽车安全CAN设备过程:将与汽车CAN总线进行通信的CAN设备设置成安全CAN设备,只有处于安全态的处理器才能访问CAN设备;安全操作系统运行在处理器的安全态,只有运行在安全操作系统的软件才能访问CAN设备;车辆控制数据传送过程:当运行于普通操作系统的汽车控制客户端程序需要通过CAN设备发送车辆控制数据时,其调用运行于安全操作系统的安全汽车控制服务端程序,使处理器由运行在非安全态模式切换到运行在安全态模式,进而访问CAN设备完成车辆控制数据传送,从而确保数据传送的安全。2.如权利要求1所述的一种基于TrustZone的汽车CAN总线数据防护方法,其特征在于:车辆控制数据传送过程具体包括如下步骤:S1.运行于普通操作系统的汽车控制客户端程序把需要发送的CAN数据按数据帧格式写入共享内存中,进入S2步骤;S2.汽车控制客户端程序调用TrustZone底层驱动程序,并传入一个参数A,然后进入休眠等待,进入S3步骤;S3.TrustZone底层驱动程序把传入的参数A保存到固定地址,然后调用SMC指令,使处理器进入到监控模式下,进入S4步骤;S4.监控模式下的监控程序把当前环境切换到安全态,并跳到安全操作系统,进入S5步骤;S5.安全操作系统内部通信管理器根据TrustZone底层驱动程序保存的参数A,调用相应的安全汽车控制服务端程序,进入S6步骤;S6.安全汽车控制服务端程序读取共享内存中的数据帧并进行安全认证,进入S7步骤;S7.若安全认证通过,则安...

【专利技术属性】
技术研发人员:刘炯钟赵国开涂岩恺池炜宾
申请(专利权)人:厦门雅迅网络股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1