王艺云
重庆机电职业技术大学,重庆404100
摘要:智能网联汽车由于其自身的特性存在互联网攻击的风险,网关是TBOX连接整车网络的唯一路径,为了最大程度地保护整车网络的安全,降低因为TBOX而带来的安全风险,必须增加TBOX和网关之间的加密、握手、认证等,使TBOX参与整车网络通信之前执行加密、握手、认证等流程,确保TBOX处于安全状态。
关键词:车联网;Box;加密;握手;远程控制;认证
1网络安全分析
1)当前整车网络安全面临的隐患如下:①Internet非法用户恶意攻击;②OBD未授权设备接入。2)针对安全隐患,需要采取的策略:①TBox,作为第1层网络安全保护:验证Internet用户合法性;Internet数据加密解密。②网关,作为第2层网络安全保护:整车网络数据加密解密;TBox访问握手;TBox访问认证;验证OBD设备合法性;验证用户合法性.
2网络安全软件设计方法
SecurityLib:使用软件加密库(SecurityLib)实现加密解密功能。2)SecurityM:识别解密后的数据是否合法;识别用户的合法性和权限;识别数据是否需要加密/解密和使用的密钥。SecurityData:加密/解密密钥;加密/解密数据目录;整车数据;刷写包;用户数字签字。T-Box传给Gateway的数据:(部分)经过算法加密;访问握手;访问认证。为了保证车辆远程控制通信的安全,TBox与整车的控制通信报文必须通过加密、握手、认证等手段进行全方位的防护。本文介绍一种TBox-网关报文加密网络安全设计方案。
3网络安全功能实施详解
3.1 TBox-网关报文加密
为了保证通信过程的网络安全,对于远程控制信号及其他安全相关的信号都必须加密发送。下线设备将整车VIN码写入网关中,网关发送整车VIN码在总线上(PCAN,HCAN和BCAN),TBox内部存储一个2byte的Udata数据,初始默认为0,每计算完一次+1(二进制),下电后立即存储当前值,下次上电后调用存储值,该存储值在模块断电后不可擦除,Box将接收到的总线VIN码的最后两位和内部Udata来运算出RollingCode_ECU,同时执行器将RollingCode_ECU通过算法计算出Store_RollingCode,执行器模块需保存最近的8个Store_RollingCode,将当前算法1算出的RollingCode发到CAN总线上给TBox。TBox将接收到的RollingCode_ECU通过算法运算得到自己的RollingCode_TBox,并发送到总线上给到执行模块,执行器才认为TBox发送到该控制报文有效,才会去执行TBox发送控制要求,否则认为无效,不响应当前TBox下发的控制指令。
图1加密系统框图
3.2 TBox-网关访问握手
为了最大程度地保护整车网络的安全,降低因为TBOX而带来的安全风险,必须增加TBOX和网关之间的握手协议,使TBOX参与整车网络通信之前执行握手流程,确保TBOX处于安全状态。根据诊断规范定义,握手流程采用的0x33服务需要在扩展会话模式下进行。依次介绍握手流程。握手流程是指TBOX发起握手请求到网关发出握手结果的整个过程。握手分4步进行,分别为:握手请求、握手响应、握手密钥和握手结果。
3.2.1握手请求
握手请求是指TBOX发起握手请求的过程。控制命令自定义,默认值为0x000x00,表示TBOX发送握手请求命令到网关。
3.2.2握手响应
握手响应是指接收到TBOX发出握手请求后网关发出握手响应Check_Seed的过程。控制命令自定义,默认值为0x000x01,指示网关发送Check_Seed到TBOX,Check_Seed为由网关生成的4个字节随机值。
3.2.3握手密钥
握手密钥是指握手响应后,TBOX根据Check_Seed和Base-Key计算发出握手密钥Check_Key的过程。控制命令自定义,默认值为0x000x02,指示TBOX发送Key到网关[7],Key由4个字节组成。
3.2.4握手结果
握手结果是网关根据Check_Key或者Tsk得到的结果Check_Resp。控制命令自定义,默认值为0x000x03。握手结果包括握手成功、握手失败和握手超时。握手结果是握手流程的输出结果。握手结果在网关初始化后默认状态为未握手成功;握手结果不受会话模式转换的影响。
1)握手成功:握手成功是指网关计算结果和握手密钥Check_Key一致。控制命令自定义,默认值为0x00。
2)握手失败:握手失败是指网关计算结果和握手密钥Check_Key不一致。控制命令自定义,默认值为0x01。
3)握手超时:握手超时是指网关发送Check_Seed后,在Tsk时间内未收到TBOX响应。控制命令自定义,默认值为0x02。
3.3 TBox-网关访问认证
网关需包含正常模式和远程启动模式,并由网关通过CAN报文发送模式信息给总线上的其他节点。通常情况下,网关均处于正常模式;当网关收到Tbox发起的加密认证请求时,即切换进入远程启动模式。若加密认证失败、超时、启动条件不满足、发动机远程熄火完成等条件满足时,控制器完成对应动作后,切换回正常模式。在Tbox向网关发出发动机远程启动指令前,Tbox需与网关进行加密认证,只有加密认证通过,网关才向整车网络发出发动机远程启动指令。
图2 TBox-网关访问认证流程
4结论
网络安全作为智能网联汽车发展的先决条件,受到各主机厂的高度重视,投入大量研发团队开发缜密完善的网络架构。通过TBox、网关和后台服务交互路径和信息安全实施一系列的安全防护有利于网联汽车的稳健发展。
参考文献:
[1]刘宴兵,常光辉,李暾.车联网安全关键技术解析[M].北京:科学出版社,2018.
[2]2018年我国车联网产业规模或将达两千亿[OL].华强电子网,2017-05-26.
[3]百度成功破解T-BOX系统车联网安全迈上新高度[OL].电子发烧友,2016-11-30.
[4]腾讯科恩实验室成功远程入侵特斯拉为全球首次[OL].腾讯科技,2016-09-20.
[5]汪春华,白稳峰,刘胤博,等.基于CAN总线UDS服务BootLoader应用开发[J].电子测量技术,2017(02):171-175.