您好, 访客   登录/注册

车载控制局域网的安全服务协议研究

来源:用户上传      作者:

  摘   要:随着智能汽车、车联网的快速发展,攻击者可以通过对外开放的接口实施攻击,引发车载信息安全问题,严重威胁车辆乘坐人的生命及财产安全的问题。为此提出了一种车载控制局域网安全服务协议,包括启动阶段和通信阶段两个模块协议。启动阶段的初始化身份认证过程采用公钥加密体系及数字签名技术,在车辆点火启动时完成各节点的初始化认证,保证各通信节点身份的可靠性;通信阶段采用动态口令及消息摘要技术,保证了消息的机密性和完整性,并利用单次有效的动态口令实现对重放攻击的抵抗。通过搭建车载控制局域网总线仿真平台,模拟多种不同的攻击场景。实验结果表明,该协议能够为车辆提供可靠的初始化身份认证及通信安全,提高了系统安全服务水平。总线负载开销及消息时延也在合理水平。
  关键词:车载控制器局域网络总线;车载信息安全;安全服务协议
  中图分类号:TP399 文献标识码:A
  A Security Service Protocol for In-vehicle CAN Bus
  SHENG Yu-jie?覮,GUO Zi-heng,SHEN Wei
  (School of Computer Science and Engineering,Nanjing University of Science and Technology,Nanjing,Jiangsu 210094,China)
  Abstract:A security service protocol for in-vehicle controller area network bus is proposed to solve the problem that the attackers can access some opening interface which may put the passengers in a dangerous situation. The protocol SSCAN contains two modules,IAM and EM. IAM uses the public key encryption system and digital signature technology to keep each ECU node in CAN bus reliability during the vehicle start-up phase. EM uses the dynamic password and message digest technology to keep the messages in safety,and can resistance replay attacks by the one-time dynamic password. To assess the SSCAN protocol,a hardware platform of CAN bus is built to simulate some different attack scenarios. The experimental results show that the protocol provides reliable initial authentication and communication security for vehicles and improves the system security service levels. The CAN bus load and messages average latency is also on a reasonable level.
  Key words:controller area network bus;in-vehicle security;security service protocol
  隨着“物联网”、“车联网”等技术的不断发展,汽车这一商品的属性已经从传统的机械类商品转向为“机械+智能化”的混合类型商品。“智能汽车”已经从一种概念类商品落地成为一种消费类商品。技术上的不断创新,使得人们的驾驶体验得以不断改进。但是,伴随这些技术而来的,是车辆提供了越来越多的对外通信接口。攻击者可以通过车载蓝牙、无线和OBD-II等模块进行攻击[1-4]。攻击的对象可以是车辆的各种关键性模块,包括发动机、ABS系统等。这些攻击一旦成功,将严重威胁车辆的安全。因此,智能汽车的信息安全问题是一个必须解决的问题,而车载总线局域网的信息安全则应是重中之重。
  在汽车工业中,应用着多种总线局域网技术,其中CAN(Controller Area Network)总线技术以其可靠性、灵活性、实时性等特点,成为应用最为广泛的车载控制局域网协议。但是,CAN总线协议至今已有三十多年的历史,在设计之初并没有考虑到如今智能汽车的大量应用,即并没有考虑到车辆有如此众多的对外通信接口,而是把车辆考虑成为一个封闭的孤立的通信环境,因此并没有考虑总线及相连节点的安全性问题[5]。同时,由于CAN总线带宽的限制以及数据帧长度的问题,使得其在引入安全服务的问题上非常具有挑战性[6]。
  研究了CAN总线协议以及安全需求后,设计提出了一种车辆控制局域网的安全服务协议(SSCAN)。SSCAN包括两个模块,一是对通信数据加密的EM模块,二是对连接在CAN总线上的节点认证身份的IAM模块。保护了消息的机密性,保证了节点的可靠性。为验证SSCAN协议的有效性,在基于飞思卡尔MC9S12XS128MAL开发板上,搭建了相应的仿真平台,验证了SSCAN能够提供有效的安全服务。
  1   车载CAN总线安全需求分析
  1.1   CAN总线协议   CAN总线协议是由博世公司(BOSCH)发明的一种基于消息广播模式的串行通信总线,最初应用于实现汽车内电子控制单元(Electrical Control Unit,ECU)之间的可靠通信,后因为其可靠性、灵活性、实时性等特点而广泛地应用在工业自动化、船舶等其他领域中。CAN总线是一种多主控的总线系统,其消息是以明文的形式广播的,即在同一时刻网络中所有的节点监听到的数据是相同的。
  CAN总线的通信标准分为两个部分,即CAN2.0A和CAN2.0B[7]。在CAN2.0A中,使用的ID标识符为11位的标准帧格式;在CAN2.0B中,它会向下兼容CAN2.0A的数据帧格式,并且同时使用了扩展帧的数据帧格式,使得ID标识符增加到了29位,即可以为更多的ECU节点分配ID。图1即为CAN总线协议中的标准帧与扩展帧格式[8]。
  1.2   CAN总线潜在的安全风险
  车载CAN总线存在如下一些问题:
  1)广播型总线网络
  广播型总线网络是CAN总线最大的特征之一。对于连接在CAN总线上的各个ECU来说,每个ECU节点都能向CAN总线发送数据,每个ECU节点也都能从CAN总线接收数据。当攻击者控制了任何一个ECU节点,并向总线中发送危险的具有恶意的信息,就有可能造成车辆关键部件作用的丧失,使驾驶者处于危险的境地[9]。
  2)协议中没有安全机制
  CAN总线成为汽车工业中的标准时,汽车并没有对外的接口。封闭的环境使得CAN总线协议在设计之初并没有考虑相关的安全性问题。但是随着互联网、物联网等技术的发展,汽车对外的接口越来越多,导致协议中存在了许多的安全漏洞,缺乏自我保护的能力。
  1.3   CAN总线安全服务设计分析
  在设计CAN总线网络的安全机制时,自然能考虑到将现有以太网的安全机制移植应用到CAN总线上。但是,CAN总线自身的一些特点[10],与以太网等传统网络的差别很大,具体体现在:
  1)ECU节点的计算能力
  本质上ECU就是一个嵌入式设备,其计算能力会受到相当程度上的限制。在传统网络为,为了提高信息的机密性,通常会采用加密算法将信息加密;为了获得更好的保密效果,更加复杂、计算开销更大的加密算法得以应用。面对复杂的加密算法,大型的计算机、服务器甚至是个人的智能手机有足够的能力来应对,但对于汽车的ECU来说,过于复杂的加密算法反而会成为掣肘,无法满足相关系统的实时性要求。
  2)CAN总线通信协议的差异
  与传统的以太网相比,车载CAN总线的通信协议并不相同[11]。如前文介绍的那样,在数据帧的数据长度、标识、周期等方面都存在差异;此外,CAN总线协议在不同的应用场景下会选择不同的总线带宽,一般总线带宽为500 kbps,最高可达到1 000 kbps,远小于诸如以太网等网络。这些差异导致我们并不能照搬原有网络的安全机制,应有更因地制宜的方式方法来设计CAN总线自身的安全机制。
  3)CAN总线通信的实时性要求
  对于部分在CAN总线上传输的ECU消息,系统对其传输有实时性要求。在引入安全服务后,传输的时间开销必然增大。
  2   SSCAN协议设计与分析
  通过对CAN总线安全服务需求及初步算法的設计,本文在CAN总线协议的基础上,设计了在汽车点火启动阶段使用的安全服务模块IAM协议,以及在使用过程中通信阶段的安全服务模块EM协议[12],组成了保障汽车在点火启动及使用过程安全性的SSCAN协议。IAM协议采用基于公开密钥密码系统和数字签名的身份认证技术,保证了CAN总线上各个通信节点身份的真实性,并为接下来通信阶段的安全服务提供保障;EM协议利用通信加密、消息验证码等技术,保证了通信数据在节点之间传输时的数据机密性及新鲜性。
  2.1   IAM协议
  IAM协议为没有安全服务的CAN总线协议引入了身份认证的功能,并为后续通信阶段的安全服务提供保障。IAM协议通过采用公开密钥系统和数字签名技术,在车辆点火启动时对网关节点及ECU节点进行初始化身份认证。身份认证的过程只在点火启动阶段进行一次,并会适时更新相应的密钥。
  在车辆点火启动后,连接在CAN总线上的所有ECU节点均向控制网关发生身份认证请求;认证通过后,由网关向各个ECU节点发送相应的动态口令,为后续EM协议中数据加密及消息认证服务做准备。
  在本方案中,采用了ECC非对称加密算法。相较于传统的RSA非对称加密算法,ECC加密算法有抗攻击能力强、计算开销小等特点,适合用于车辆电子控制单元这类能力有限的嵌入式设备中[14]。身份认证过程具体分为以下四个步骤,其中E是加密函数,D是解密函数:
  步骤1:车辆点火启动后,编号为Ni的ECU节点查询本地映射表确定需要与之通信的ECU节点编号{Nm,Nm+1,…,Nn},按一定的编码规则ER,组成静态口令SPi;利用网关节点G的公钥KGU对静态口令SPi进行加密形成密文C1i;利用Hash函数对静态口令SPi作消息摘要得到MS,并利用节点Ni的私钥KiU对其加密形成数字签名C2i。将加密密文C1i与数字签名C2i组合形成加密消息Ci发生给网关G。
  步骤2:网关G获取到编号为Ni的节点发送来的认证消息Ci,查询信任列表确定节点Ni是否为已信任节点。若节点已通过认证,则广播警报帧;若未通过认证,则根据规则将其拆分为C1i和C2i两个部分。利用网关的私钥KGR对C1i进行解密,得到静态口令SPi,对比网关节点存储的映射信息确认口令是否正确。若静态口令相同,则对其作消息摘要处理得到MS1;若静态口令不同,则发送警报帧,节点Ni身份认证失败。   步骤3:利用节点Ni的公钥KiU对C2i进行解密得到消息摘要MS,对比步骤2 中得到的摘要MS1。若两个消息摘要相同,则节点Ni身份认证通过,加入网关G的信任列表中;若不相同,则发送警报帧,节点Ni身份认证失败。
  步骤4:在各个ECU节点向网关G完成身份认证后,网关G向需要通信的节点对{Ni,Nj}加密发送动态口令Dij和Dji作为认证结果的反馈,其中Dij = Dji,为后续通信过程中EM协议提供保障。
  由于车辆启动后即进入工作状态,因此对CAN总线上各个节点的初始化身份认证过程有时间限制。对于超时认证,网关G将不再应答。
  至此,连接在CAN总线网络上的所有节点与网关的初始化认证阶段结束。网关确认了待通信节点的身份信息,并为其分配了通信阶段需要的动态口令DP。
  2.2   EM协议
  通过IAM协议,车辆在点火启动阶段完成了各个节点的初始化身份认证,并分配了通信阶段需要的动态口令DP。在通信阶段,第p次通信都是基于动态口令DP p完成的,完成后会更新得到新的动态口令DP p+1,为第p+1次通信做准备。
  发送方Ni向接收方Nj作第p次通信时,将消息数据Mp与动态口令DP pij进行异或运算得到加密的消息MpE,并利用Hash函数计算得到消息认证码(Message authentication code,MAC)MAC p,再将动态口令DP pij进行Hash函数计算得到下一次通信所需的动态口令P p+1ij     。
  对于运行在CAN总线之上的汽车电子系统来说,消息帧有实时性条件约束,若将加密的消息MpE和消息认证码MAC p分开传输,必然增加了总线传输的时间开销,导致消息帧超时。通过研究发现,ECU在传递消息时一般只使用大概3-4字节的空间,相对于CAN总线协议标准的8字节数据空间,还有富余。因此在传输过程中,定义消息帧的前7个字节用于传输加密的消息MpE,最后一个字节传输消息认证码MAC p,降低通信传输过程中的开销。
  接收方Nj在接收到加密消息MpE和消息认证码MAC p后,利用本次通信的动态口令DP pij解析出消息明文M p,并利用Hash函数计算得到消息认证码MAC p与接收得到的消息认证码进行比对。若消息认证码相同,则接受明文消息M p,并利用Hash函数计算得到下次通信使用的动态口令DP p+1ij     ;若消息认证码不同,则放弃消息,并向CAN总线上广播警告帧。
  3   实验与性能分析
  3.1   实验设计
  为验证本文提出的安全服务应用方法,实验采用2个飞思卡尔的CAN总线开发板(型号为MC9S12XS128MAL),来构建实验仿真平台。利用一个USBCAN-II S模拟一个攻击节点A。USBCAN-II S使用其自带的软件CANTest,实现在PC端监控获取和发送CAN总线消息帧。
  为了验证本文提出的应用方法有效性,实验模拟了两种不同的应用场景,即车辆点火启动时各节点初始化认证场景和通信阶段场景。针对不同阶段不同场景的攻击,在分析出节点身份异常及消息可疑时,会广播特定格式的警报帧报警,实现系统安全服务的功能。
  为了验证本文提出的安全服务协议是否满足系统实时性要求,利用OMNet++搭建了仿真环境,确定安全服务协议的引入对CAN总线负载及消息时延的影响。
  3.2   启动阶段身份认证分析
  每次车辆点火启动后,各ECU节点和网关节点上电后要进行初始化身份认证,保证CAN总线上所有通信节点身份的真实性和有效性,避免攻击者利用虚假身份信息对CAN总线发动相应的攻击。
  对于启动阶段的身份认证分析,实验模拟了4种不同的应用场景,验证了IAM协议的有效性。
  场景1   假定攻击节点A在车辆启动前已经连接在CAN总线上。车辆点火启动后,需要各节点与网关节点进行身份认证。由于攻击节点A没有保存在本地的网关公钥KGU,也没有根据需要通信节点编号形成的静态口令SPi,无法形成有效的加密认证消息,无法通过身份认证。
  场景2   攻击节点A在节点身份认证的过程中,通过窃听总线消息,获得了普通节点b的认证消息帧(第2帧),篡改后发送到CAN总线上。如表1第5号帧所示。由于消息篡改后,消息的數字签名将会发生变化,使得节点的认证无法通过。网关G向CAN总线广播警告帧(第6帧)。
  场景3   攻击节点A在节点身份认证的过程中,通过窃听总线消息,获得了普通节点c的认证消息帧(第8帧)。并对消息帧不做处理再次发送到CAN总线上,如表1中第10号帧所示。此时,网关G在查询其信任列表后发现节点c已完成认证,将会直接广播警报帧。
  场景4   攻击节点 存储了上一次节点c的认证消息帧,在下一次启动时抢先发布,如表2中第2号帧所示。网关G正常返回节点 认证通过的消息。节点b利用私钥KbR解密得到通信用的动态口令DP,而攻击节点A由于没有私钥KbR,无法解密认证消息,也就无法获得通信用的动态口令DP。同时,节点c正常发送的认证请求会被网关G认为是可疑请求而广播警报帧。
  3.3   通信阶段的安全性分析
  在初始化身份认证阶段结束后,所有认证通过的ECU节点都获取了相应的通信动态口令D。此时,攻击者仍能通过相关接口伪造或篡改一些通信消息帧来达到攻击的目的。本阶段,设置了3种不同的场景,验证了EM协议的有效性。
  场景1:攻击节点A直接伪造了一条消息向节点 发送,如表3第2号消息帧所示。由于攻击者没有节点i相应的动态口令,在节点i检验消息验证码时无法得到正确的相同的消息验证码,因此节点i将直接向CAN总线中广播警告帧。   场景2:攻击节点A在CAN总线上监听到一个由节点m发送到节点n的消息帧。窃取后不做任何修改直接广播到CAN总线上,如表3第6号帧所示。此时,由于节点m和节点n之间的正常通信已经结束,其各自的动态口令DP p   mn和DP p   nm已经作废,取而代之的是更新后的动态口令DP p+1mn     和
  DP p+1nm     。显然,利用D p   nm得到的消息验证码MAC p不会和利用D p+1nm    得到的消息验证码MAC p+1相同。因此,节点n会广播警告帧。
  场景3:攻击节点A在CAN总线上监听到一个由节点m发送到节点n的消息帧。窃取后篡改内容后广播到CAN总线上,如表3第10号帧所示。同场景2中类似,接收节点n不可能得到两个相同的消息验证码,因此仍会向CAN总线中广播警告帧。
  4.4   总线负载及消息时延仿真
  本节将讨论本文所提出的安全服务协议SSCAN对CAN总线负载以及消息时延的影响。本文使用OMNet++仿真软件搭建CAN总线环境,总线带宽设置为500 kbps,设置了5个ECU节点和1个网关节点,采用一个包含49条消息的消息集进行试验。计算总线负载以及消息平均时延。
  如表4,仿真实验中,当各节点之间既无身份认证,又无消息加密机制,总线负载为324.58 kbps,消息平均时延为8.265 ms;当引入本文所提出的安全服务协议后,总线负载提高了1.38%,至329.05 kbps,消息平均时延提高了2.50%,至8.472 ms。引入安全服务协议后对总线负载及消息影响有限。
  在EM协议中,本文只利用了1个字节8个比特的空间来存放消息验证码(MAC)。正如前文所述,ECU在传递消息时一般只使用大概3-4字节的空间,因此还有至多3个字节的空间可用于存放消息认证码。理论上,使用空间越大,加密等级越高,安全性能就越好。
  在对原有消息集消息长度进行处理后进行仿真实验得到如表5的结果。当MAC字节数为0时,即为未引入安全服务。表中总线负载和消息平均时延的数据是与为引入安全服务时两者表现的比值。MAC字节数越高,总线负载和消息平均时延皆有所上升,但上升幅度不大。
  本节主要讨论了SSCAN协议对总线负载及消息时延的影响,并没有设定相应的阈值判定其是否有效。应用中应根据实际需要来确定协议的应用及应用的等级。
  4   结   论
  针对CAN总线协议缺乏安全服务应用的现状,提出了一种车载控制局域网安全服务应用协议SSCAN,该协议包括验证通信节点身份真实性的IAM协议和保障通信消息的机密性、完整性的EM协议。通过搭建仿真平台,验证了SSCAN协议在车辆点火启动阶段和通信阶段能提供有效的安全保障,系统实时性要求也基本能得到满足。
  参考文献
  [1]    LIN C W,ZHENG B,ZHU Q,et al. Security-aware design methodology and optimization for automotive systems[J]. ACM Transactions on Design Automation of Electronic Systems,2015,21(1):1—26.
  [2]    LIN C W,ZHU Q,PHUNG C,et al. Security-aware mapping for CAN-based real-time distributed automotive systems[C]// IEEE ACM International Conference on Computer-Aided Design. ACM,2013.
  [3]   LIN C W,ZHU Q,SANGIOVANNI-VINCENTELLI A . Security-aware modeling and efficient mapping for CAN-based real-time distributed Automotive Systems[J]. IEEE Embedded Systems Letters,2015,7(1):11—14.
  [4]    LIN C W,SANGIOVANNIVINCENTELLI A . Cyber-security for the controller area network (CAN)communication protocol[C]// International Conference on Cyber Security. IEEE Computer Society,2012.
  [5]   NILSSON D K,LARSON U E,JONSSON E . Efficient in-vehicle delayed data authentication based on compound message authentication codes[C]// Vehicular Technology Conference, VTC 2008-Fall. IEEE 68th. IEEE,2008.
  [6]    GROZA B,MURVAY S,HERREWEGE A V,et al. LiBrA-CAN:a lightweight broadcast authentication protocol for controller area networks[C]// International Conference on Cryptology and Network Security,2012.
  [7]    BOSCH,CAN Specification[M],version 2.0,1991.
  [8]    張鸥. 智能网联汽车安全网关技术的研究与实现[D]. 成都:电子科技大学,2018.
  [9]    CHAKRABORTY S,FARUQUE M A,CHANG W,et al. Automotive cyber-physical systems:a tutorial introduction[J]. IEEE Design & Test,2016:1—1.
  [10]  SZILAGYI C J . Low cost multicast network authentication for embedded control systems[J]. Dissertations & Theses - Gradworks,2012.
  [11]  XIE G,CHEN Y,LIU Y,et al. Minimizing development cost with reliability goal for automotive functional safety during design phase[J]. IEEE Transactions on Reliability,2017:1—16.
  [12]  吴尚则,秦贵和,刘颜,等. 车载控制器局域网络总线的动态口令身份认证方法[J]. 西安交通大学学报,2017,51(6):97—102.
  [13] VIJAYALAKSHMI N,SASIKUMAR R . An id-based privacy preservation for VANET[C]// International Conference on Computing & Communications Technologies. IEEE,2015.
  [14]  SCHNEIER B,施奈尔,吴世忠,et al. 应用密码学[M]. 北京:机械工业出版社,2014.
转载注明来源:https://www.xzbu.com/8/view-15295854.htm