AUTOSAR汽车电子嵌入式编程精讲300篇-基于加密算法的车载CAN总线安全通信

目录

前言

研究现状

系统架构研究

异常检测研究

认证与加密研究

相关技术

2.1车联网

2.2车载网络及总线

2.2.1 CAN总线基础

2.2.2 CAN总线网络安全漏洞

2.2.3 CAN总线信息安全需求

2.3密码算法

2.3.1 AES算法

2.3.2 XTEA算法

CAN网络建模与仿真

3.1 CAN网络建模

3.1.1 CAN网络架构

3.1.2符号说明

3.2仿真工具

3.2.1 CANoe

3.2.2 CAPL语言

3.2.3仿真实例

基于AES加密的CAN总线安全通信

4.1安全CAN总线设计思路


本文篇幅较长,分为上下两篇,下篇详见基于加密算法的车载CAN总线安全通信(续)

前言

随着科学技术的不断更新和社会文明的不断进步,汽车已经走入寻常百姓家, 成为当代社会必不可少的交通工具。伴随着互联网技术的飞速发展,汽车也不再 是一个简单的交通工具,已经逐渐发展成为一个集出行、通信、娱乐等功能于一 身的综合智能体,进而推动了车联网产业的蓬勃发展。
车联网是在传统汽车的框架上安装了传感器、执行器、控制器等分布式和集 中式控制器,使汽车具备环境感知、协同控制、优化执行等功能,并通过网络技 术实现与车外环境的信息共享,给驾驶带来方便的同时也终将成为可以替代人操 作的新一代汽车[1-3]。目前全球车联网产业进入信息化、智能化引领的快速发展阶 段,全球70%以上的新组装车辆都已配备互联网接口,预计到2020年将增至3 亿辆左右,到2025年则将突破10亿辆[4]。在我国,国务院2015年发布的《中国 制造2025》明确了将智能汽车作为重点发展方向之一。由工信部、发改委和科技 部2017年印发的《汽车产业中长期发展规划》将智能网联汽车作为汽车产业的战 略目标之一[5]。2019年工信部印发的《车联网(智能网联汽车)产业发展行动计
划》,提出了按阶段保持高质量发展的目标。汽车厂商、零部件厂商及信息科技 公司也积极开展相关技术的研发和产业布局,抢滩车联网领域。未来,融合大数 据、云计算等创新技术的车联网市场将推动汽车产业高速发展。
与传统汽车相比,车联网环境下的汽车是一个庞大而复杂的网络系统。为了
实现汽车智能化、网络化,车辆内部的电子控制单元(ECU)大幅增加,豪华汽车 ECU数量达到一百多个,并分割为CAN、LIN、MOST等不同的网络架构,承担 ECU之间的信息交互。汽车也从传统的机械式结构变为电子电气结构,通过各种
接口实现车与车、车与设施、车与服务器之间的信息交互,使得原本封闭的网络 变得开放起来[6]。在极大地方便人们生活的同时,汽车的通信接口也带来巨大的 安全隐患。现有车载CAN总线,在设计和应用过程中并没有考虑信息安全问题,
黑客很容易利用汽车的外部接口窃取车辆信息,并通过这些接口随意操控汽车。
早在2010年就有攻击者通过破解汽车内部信息系统,伪造汽车胎压传感器信 号,干扰了轮胎压力监测系统[7]。2015年,著名白帽黑客Miller和Valasek远程攻 击了一辆行驶中的Jeep切诺基,控制了动力和制动系统,并强制关闭了引擎,迫 使克莱斯勒公司紧急召回140万辆汽车[8]。2016年,腾讯科恩实验室成功实现了 远程无接触式破解Tesla S系列电动汽车,实现了诸如驻车状态下开门、行驶状态下偏航等操作。2017年,腾讯科恩实验室再次实现了远程无接触式破解Tesla[9]。
类似实验还有很多,这些实例将车联网信息安全问题推到了前沿,引起了世人的 关注。
通过分析汽车被攻击的案例可以发现,车联网技术的发展使得汽车内部的电 子控制单元和电子设备大量增加,与外界的交互越来越多。来自外界的安全威胁 通过这些车载电子设备直达车载总线。然而,现有总线既没有设置安全边界又没 有设计安全策略,严重缺乏信息安全防护手段,使得总线变得异常脆弱。
综上所述,车联网背景下汽车信息安全面临的威胁,归根结底是车载总线面 临的信息安全挑战,车载总线信息安全是未来汽车信息安全最关键的问题之一。 所以,车载总线信息安全问题的研究具有十分重要的理论价值和实践意义。本文
通过对CAN总线安全协议进行补充,以加密数据和计数器的方式,确保车载CAN 总线通信过程的数据机密性、消息正确性和数据新鲜性,以达到车载CAN总线安
全通信的目的。

研究现状


随着车联网及相关技术的快速发展,车载网络变得规模越来越庞大、结构越 来越复杂,面临的安全问题也越来越严峻,车载信息安全问题引起了世界的关注, 如何保证安全是未来汽车发展最关键的因素。为此,各国学者和科研人员开展了 相关研究和设计,旨在抵御针对车载网络的恶意攻击、降低安全威胁,提供一个 安全的汽车环境。

系统架构研究


EVITA(E-safety Vehicle Intrusion proTected Application)是欧盟2008—2011年 研究V2X应用场景的网络安全项目,旨在设计和验证一种车载网络安全通信架构
及相应协议,以保证车内网络通信安全,保护敏感数据在传输时免受损害,框架
安全性依赖于HSM(Hardware Security Module,硬件安全模块),并分为high、 medium、light三个等级,根据不同安全级别需求提供不同的硬件安全接口[10,11]。 为应对V2X通信中的安全威胁,欧盟在2011—2015年又启动了 PRESERVE(PREparing SEcuRe VEhicle-to-X Communication Systems),为V2X通 信提供接近于实际应用的安全和隐私保护措施[12]。
OVERSEE(Open Vehicular Secure Platform)项目制定了一个开放式的实时车载
信息平台,提供了一个被保护的标准化的汽车内部运行环境。主要支持汽车辅助 功能的应用程序,对他们之间进行隔离,以保证汽车功能和汽车安全不会因应用 程序的运行而受到损害[13,14]。AUTOSAR(AUTomotive Open System ARchitecture)致力于为汽车电子控制单
元定义层次化的基础软件架构,旨在为汽车电气/电子构架开发一套开放的行业标
准,以模块化、可扩展、可转换、可重用为目标,由宝马集团(BMW)、博世公司 (Bosch)、大陆集团(Continental)、戴姆勒-克莱斯勒公司(DaimlerChrysler)、西门子 威迪欧汽车电子公司(Siemens VDO)以及大众公司(Volkswagen)于2003年7月建立 的联盟,已经被国内外厂商广泛应用,成为ECU在基础软件方面的架构标准[15,16]。
国内的研究相对比较晚。2016年9月,由中国信息安全认证中心、国家网络
与信息系统安全产品质量监督检验中心、东软集团、长安汽车、奇瑞汽车等联合
发起成立了车载信息安全产业联盟(ACIA),并对外发布了《车载信息安全技术要 求白皮书》,旨在推动车载信息安全技术标准发展。2019年10月10日,我国首
个车载信息安全技术国家标准《信息安全技术车载网络设备信息安全技术要求》
正式启动,共有65家科研院所、高校和企业参与编写。

异常检测研究


入侵检测对检测精度和响应时间有着较高的要求。Lu[17]建议对ECU存储系 统进行加密以保护ECU代码,提出了马尔科夫决策过程(MDP)模型。Laraon[18]使 用协议级的安全规则检测非法ECU行为,提出了一种CAN总线网络攻击检测方 法。Muter[19]提出了一种结构化的车载网络异常检测方法,利用一组异常检测传感 器检查帧ID、数据负载、消息频率等以防止误报。Song等[20]提出的针对车载网 络的轻量级入侵检测方法,可以检测攻击且不发生误报。吴贻淮[21]结合神经网络 提出了车载CAN网络的入侵检测方法。彭晶[22]提出了基于信息熵的总线异常检
测方法。

认证与加密研究


Goza等[23-25]对基于CAN总线的认证设计了EPSB、Libra-CAN等协议,并利
用飞思卡尔单片机验证了协议的可用性,这些协议属于轻型广播认证协议,适用
于节点数量较少情况。同属轻型广播认证协议的还有Perring等[26,27]提出的TESLA 协议以及改进版本uTESLA协议。李聪聪[28]设计了针对女巫攻击的轻量级无证书 公钥认证方法。吴尚则[29]提出了基于挑战/应答模式的动态身份认证方法。
Nilsson等[30]提出了使用MAC进行认证的通信方法,将KASUMI加密算法生 成的64bitMAC分成4个等长的16bit块放在CAN消息的CRC场中并发送。该方 法发送完成需要8个CAN周期,一旦MAC计算失败,部分消息将无法识别。
针对攻击者可以利用蓝牙等无线设备向车载CAN总线发送攻击消息,Woo 等[31]提出了改进的AES-32轻量级加密方法,并对比了不同数量ECU的运行时间。 Yoshikawa等[32]针对CAN总线网络易受木马攻击提出了使用PRESENT的轻量级加密方法,同时在防重放攻击方面给出了定义。刘毅[33]提出了基于DES加密和 BKDR-Hash校验的安全通信方法,划分了点火阶段和通信阶段的安全保障。朱立 民[34]提出基于AES-CCM算法的安全CAN总线协议来保障总线安全。
现有CAN安全协议工作,多是从轻量级算法或轻量级协议考虑,且没有考虑
系统混合关键性,整个系统遵守同一安全级别、使用同一加密算法。为了满足汽 车电子系统不同关键性功能安全需求、节省系统资源,本文综合运用高等级加密 算法和轻量级加密算法,为不同关键性功能提供不同级别的安全保障,节约系统
资源,分等级保障CAN总线安全。

相关技术


本章介绍了车联网技术的一些基本概念及国内外发展情况。对现行的车载总
线做了总述,主要对CAN总线协议及其特点等进行了介绍,针对CAN总线特点 进行了安全威胁分析,进而提出了CAN总线的信息安全需求。还介绍了几种有代
表性的对称加密算法。

2.1车联网


车联网技术是在交通基础设备日益完善和车辆管理难度不断加大的背景下, 在物联网基础上建立起来的概念,是传统汽车工业与移动互联网技术的融合,可
以看作是一种经过特殊优化的移动自组网络。车联网利用GPS、RFID、无线通信、 传感网络等技术的融合,通过信息处理,实现车与X(人、道路、环境等)的无
线通讯和信息共享,进而实现对车辆的调控、改善交通状况,同时还可以为用户
提供安全、娱乐等综合性服务[35]。如图2-1所示,车联网系统是以汽车为中心节
点,通过现代信息手段把汽车接入网络中,实现车与车、车与道路、车与环境等 的互联感知。

伴随着科学技术的迅猛发展,汽车保有量持续增长,交通安全、出行效率等问 题日益突出。车联网研究最重要的意义之一在于缓解道路交通拥堵、提高道路运 输效率、提升道路交通能力。但是,安全隐患成为制约车联网技术发展的重要因 素,车联网存在的安全问题有些是传统网络中已经存在的,而有些则是专门针对无 线传感网络在车联网这一特定应用中出现的。因为车联网是以数据为中心的网络,以数据为目标的攻击行为在车联网中表现出强大的破坏性。为此,对于车联网安全 问题的分析和安全方案的实施变得更加复杂,在坚持技术继承的同时还要结合车 联网特点进行应用创新[36]。
车联网融合了智能汽车和智能交通等现代科学技术,是发达国家研究的热点。
日本在20世纪60年代就开始了相关研究,欧美国家在2000年左右启动了多个车 联网项目。为了实现不同厂家汽车之间的相互沟通,欧洲6家汽车制造商在2007 年成立了Car-2-Car通信联盟,旨在建立开放的欧洲通信系统标准。日本VICS车 机装载率在2009年已达到90%。2010年,美国交通部发布的《智能交通系统战 略研究计划:2010-2014》包括了美国车联网技术发展的详细规划和部署。我国交 通运输部在2010年7月首次提出车联网建设,并把汽车移动物联网(车联网)列 为国家重大专项(第三专项)的重要项目。2017以来,国家颁布了多项方案,将 发展车联网提升到了国家创新战略层面。随着5G技术的兴起,汽车产业全面数 字化转型和互联网化应用有了新的发展方向[37]。

2.2车载网络及总线


汽车内部CAN、LIN、MOST等车载总线,以及ECU、网关、诊断工具等一
起构成了一个庞大而复杂的车载网络,网络上连接了与车辆安全、控制、应用等
功能相关的大量ECU。一般的车载总线网络架构如图2-2所示。

车载总线是车载网络中底层的车用设备或车用仪表互联的通信网络。目前,
有CAN总线、LIN总线、FlexRay总线和MOST总线四种主流的车载总线,是当
今车载总线的代表,在车载网络中分担着不同的角色,相互之间存在巨大的差异,
如表2-1所示。

不同车载总线在物理连接、总线协议、拓扑结构、访问控制等方面都有着显
著的区别,在各自领域发挥着独特的作用。LIN总线作为CAN总线的辅助,以其
低廉的价格和易于实施在车内低速和非实时通信中取得了成功。在一些高端车型
上部署的MOST网络是汽车媒体系统通讯网络的新星。FlexRay提升了控制系统
的安全性和容错能力,虽然在汽车动力系统相关安全需求方面提供了优秀的解决
方案,但是并没有成为一个像CAN总线那样的通用车载网络标准。CAN总线是
汽车控制系统总线的主导,是目前使用最广泛的车载总线网络技术,作为汽车控
制系统总线的行业标准仍将持续相当长的一段时间。因此,CAN总线信息安全是
本文的研究重点。

2.2.1 CAN总线基础


CAN(Controller Area Network,控制器局域网)是一种串行通讯协议,由德 国Bosch公司开发,它解决了现代汽车中众多电控模块之间数据交换的问题,有 效的降低了车载网络布线的成本和复杂性。其通信接口中集成了CAN协议的物理
层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等工作。CAN总线属于工业现场总线的范畴,用于实 现汽车内部控制系统与各检测和执行机构间的数据通信。CAN总线的数据通信具
有突出的可靠性、实时性和灵活性,并被广泛地应用于工业自动化、船舶、医疗 设备、工业设备等方面,是目前国际上应用最广泛的开放式现场总线之一[38-40]。
(1)电气特性
通过两根信号线(CAN_H和CAN_L)的差分电压表示隐性(逻辑1)和显性 (逻辑0)。总线在空闲时的电压是2.5V,当有数据传输时CAN_H为3.5V、CAN_L 为1.5V。显性位具有优先发送权,即当同时传送显性和隐性两个值时,总线的结
果为显性。
(2)拓扑结构
采用线性拓扑结构,支持最多110个节点连接到通信线路中,每个节点都可 以根据需要立即在总线上传输消息,网络的最大长度40m。
(3)报文格式
CAN总线协议通信帧分为数据帧、远程帧、错误帧、过载帧和帧间隔五种类 型。数据帧用于发送节点向接收节点传送数据,是本文研究的重点。CAN报文由 1bit的帧起始位(SOF)、7bit的帧结束位(EOF)以及仲裁场、控制场、数据场、CRC 场和应答场七部分组成。数据帧根据仲裁场标识符(ID)长度不同,分为标准帧 (CAN2.0A)和扩展帧(CAN2.0B),扩展帧支持与标准帧兼容。

CAN扩展帧有一个29位的标识符,分为Base ID和Extended ID两部分。ID 用于设置消息优先级,识别符扩展位(IDE)用于确定使用18bit扩展ID。其他部分
与标准帧相同。
(4)媒体访问控制
基于CAN-ID仲裁传输的非破坏性的竞争机制,采用CSMA/CA(载波监听/ 冲突避免)通信协议。当多个节点同时在CAN总线上传输消息时,仲裁后首先发
送具有最高优先级的消息,低优先级的消息传输被延迟,直到高优先级消息被发 送出去。

2.2.2 CAN总线网络安全漏洞


CAN总线是目前使用最广泛的车载总线网络技术,以灵活性、实时性和可靠 性成为汽车控制系统总线的行业标准。CAN总线在设计之初,汽车电子系统是一
个封闭环境,并未考虑信息安全问题。随着汽车信息技术的发展和车联网概念的 兴起,越来越多与外部连接的访问接口被打开,汽车不再是一个封闭的网络系统,
这些接口中可能包含直接或者间接连接到汽车内部CAN总线的控制单元[41]。除
了基本的电控、媒体系统,还有如自动启停、泊车、自适应巡航等智能化的高级 辅助驾驶系统,以及与手机等智能设备连接的信息娱乐系统,这些系统都可以获
取车载CAN总线网络数据。通过与汽车外部有信息交互的电控单元,使得攻击者 可以接入CAN总线,直接渗透到汽车内部的车载CAN总线网络,获得总线的访
问权,进而攻击整个车载网络体系,威胁车辆及人员安全。总的来说,车联网环
境下的车载CAN总线面临的安全威胁主要有以下几方面:
(1)广播发送机制。CAN网络协议规范是基于广播机制,这是CAN总线最大 的特点。当总线上任意一个ECU发送消息时,总线上所有的ECU都会接收到该
消息,而且还有可能通过网关转发到其他子网。所以攻击者很容易就可以监听到 总线上传输的数据进行逆向工程,或者通过向总线发送恶意报文进而控制车辆。
(2)缺乏安全保护机制。目前CAN协议中仅有CRC场提供传输过程的错误校
验,却缺乏必要的安全防护。因为总线上消息的传输都是明文形式,并没有相应 的加密措施来保证消息传输的机密性,所以攻击者可以轻易获取到总线上的真实 数据,进行分析破解进而控制车辆。
(3)无数据认证机制。目前在CAN协议中并没有规定身份验证域,这意味着 任一ECU都可以不加区别的将消息发送至CAN总线。总线上其他ECU只要接收 到消息就会进行数据处理,并执行相应的命令。ECU本身并不知道消息由谁发送,
也无法判定当前消息的正确性。
(4)没有防重放攻击机制。因为CAN协议本身存在的安全问题,攻击者可以 控制任意ECU。即使在不知道CAN总线消息真实内容和意义的情况下,也可以通过记录车辆正常运行时的消息序列,并在任意时刻重新回放到网络中,重放消 息会影响车辆状态以达到攻击者控制车辆的目的。

2.2.3 CAN总线信息安全需求


针对汽车系统的攻击,无论是内部攻击还是外部攻击,攻击对象都是车载
CAN总线,因此总线协议要提供足够的安全保障,安全防护机制要满足一定的安
全防护需求。概括起来主要有如下几点:
(1)数据机密性。数据机密性的保障可以防止车辆遭受窃取攻击。在CAN总
线网络中,消息以广播形式在总线上传输,帧数据也是以明文形式填写到数据荷 载中,没有使用任何加密手段。
(2)消息正确性。接收方要保证接收到的消息来自正确的发送方,而不是来自 于攻击节点的伪造消息。CAN总线节点间通信的消息正确性对车辆功能正常运行
非常重要。
(3)身份真实性。车载CAN总线以唯一确定的ID进行消息的接收和发送,任
一节点都可以伪造其他的节点给系统中执行重要功能的节点发送消息,接收方收 到的就是发送方所声明的身份。
(4)数据新鲜性。数据新鲜性的保障能够检测车辆是否受到了重放攻击。CAN 总线中任何ID的报文都可以被任何节点发送到总线网络中,但ECU不能证明 CAN总线上传输的报文是最近发送的或是已经发送过的。
(5)网络实时性。车载CAN总线网络是一个实时性网络,通信数据实时传输
才能保证车辆功能正常运行。安全机制的建立要以实时性为前提。

2.3密码算法


密码算法是一种数学函数,用于保证信息的安全,包括加密算法和解密算法 [42,43]。加密的基本思路就是使传输数据变得不可读,即对原来传输的可读消息按 照某种算法做一定的处理,使之转化成为无法解读真实含义的密文数据,只有在 输入相应的密钥之后才能还原,以到达保护数据不被非法阅读和窃取的目的。加 密的逆过程即为解密,是将密文数据还原为可读消息的运算过程。

2.3.1 AES算法


AES是一种基于分组的对称密码算法,是目前使用最广泛的密码算法之一[44]。 在AES标准规范中,密钥的长度可以使用128位、192位或256位,分组长度只 能是128位,算法输入的明文块长度必须是128位。根据三种不同密钥长度,推 荐加密轮数分别为10轮、12轮、14轮。AES算法采用轮函数迭代循环方式,主要有密钥扩展、字节替换、行移位、列混合和轮密钥加等步骤。常见的AES-128 加解密过程包含10轮迭代过程,如图2-5所示。轮迭代运算前9轮结构相同,第 10轮与前9轮相比不包含列混合操作,第1轮迭代前要进行轮密钥加。解密是加
密的逆运算。密钥扩展为每一轮的轮密钥加提供子密钥。

2.3.2 XTEA算法


XTEA算法是一种微型分组密码算法,具有Feistel网络结构,是TEA算法的 提高算法[45]。XTEA算法分组长度是64bit,通过64轮迭代运算生成128bit的密 文。轮函数主要包括移位操作、模加运算和异或运算。XTEA算法结构简洁、易 于描述和执行,只需要很少的代码就可以实现。XTEA算法结构流程图如图2-6
所示。

CAN网络建模与仿真


本章通过分析汽车内部车载CAN总线框架,简化了CAN总线网络模型,同 时定义了一些术语及参数符号。介绍了开发工具CANoe和编程语言CAPL,并结
合实例简述了仿真流程。

3.1 CAN网络建模

3.1.1 CAN网络架构


在车载网络中,ECU是发出车辆动作命令的核心部件,主要由硬件和软件两
大部分组成。硬件负责采集输入信号、输出控制信号等。软件是基于嵌入式系统
对输入信号进行运算,并将结果转化为控制信号输出。从功能上来说,ECU更像
是一个微型计算机,可以发送与本身功能相关的消息,也可以接收总线上传输的 消息并做出响应。
根据不同的功能需要,ECU通过总线连接,形成了不同的子网。由图2-2车 载总线网络架构可以了解到,CAN总线作为汽车内部主要的控制总线,一般分为 高速CAN和的低速CAN,CAN总线通过广播的方式将ECU发送的消息在总线 上传输,总线上任何ECU都可以接收到总线上的报文。因此,本文主要研究ECU 间的CAN网络通信安全,为了便于研究,简化系统结构模型如图3-1所示:

简化的CAN总线网络模型只有一条CAN总线,所有ECU都连接到总线本身。 在CAN总线网络中,每个ECU都可以在不同的总线事件中扮演不同的角色,有 收发(Transceiver)、仲裁(Arbitraration)、错误处理(Errors)等应用功能,我们主要从ECU收发模式的角度入手,不考虑ECU的仲裁和错误处理等情况。

3.1.2符号说明


为了便于理解,表3-1对本文中用到的一些术语和参数符号做了解释说明。

3.2仿真工具

3.2.1 CANoe


CANoe(CAN open environment)是德国Vector公司生产的一款总线开发与 分析工具,用于开发、测试和分析整个ECU网络和单个ECU而设计的全面软件 工具。适用于CAN、LIN、Ethernet、FlexRay、MOST等总线网络的建模、仿真、 测试和开发,支持J1939、J1587、NMEA2000、ISO11783、CANopen、MCnet、 GMLAN、CANaerospace等CAN总线协议。在全球大部分汽车厂和一级供应商中
得到广泛应用。CANoe实现了开发从需求分析到系统实现的过程,共有三种开发模式。一是
虚拟网络模式:模拟整个汽车总线,完全仿真一个车载网络;二是结合网络模式: 一部分进行模拟网络创建,一部分连接真实网络,辅助测试和开发网络上的部分 节点;三是实际网络模式:连接到已有车载总线网络,分析研究总线网络中存在 的问题,而不参与其工作运行。
本文采用虚拟网络模式,通过建立仿真模型来模拟ECU的行为、评估ECU 的功能,并进行系统的功能分析、测试以及总线系统和ECU的集成。

3.2.2 CAPL语言


CAPL(Communication Access Programming Language,通信访问编程语言) 是一种专门为CANoe开发环境而设计的基于事件建模的编程语言,在语法上类似 于C语言。CAPL事件类型如图3-2所示。

3.2.3仿真实例


本文通过CANoe建立仿真模型,使用CAPL编写程序并应用到网络的各个节
点上,通过数据库把测试环境和消息、信号、环境变量联系起来,从而实时监测 总线上的数据通信,接受总线上的控制信息,使得模拟面板上的控件进行动作,
模拟节点行为以及测量分析系统功能。模拟CANoe工程如图3-3所示。

CANdb(数据库编辑器)用来描述CAN网络节点间数据通讯,包含了CAN 总线协议中协议数据及其所代表的具体意义。根据设计创建模拟系统的Network node(网络节点)、Message(报文)、Signal(信号)和Environment variable(环 境变量)等,建立相互关系并定义各自属性,如图3-4所示。

Panel编辑器是交互式面板设计工具,通过建立各控件与各变量之间的联系, 搭建起所需的人机互动界面,使得仿真更加直观方便。如图3-5所示。

仿真模型经过CAPL语言对节点编程后就完成了开发。系统的功能分析、测 试及总线系统和ECU集成均在模型中进行,分析结果以图表和文字说明在评估窗 口中显示,如图3-6所示。

基于AES加密的CAN总线安全通信


CAN协议在设计之初并没有安全防护机制,总线消息以明文形式在网络上传
输,车内敏感信息很容易被窃取,干扰和破坏车载总线网络通信。因此,为了保
证CAN总线网络上传输的信息安全,保障数据机密性,防止攻击者对车载数据的 窃取,本章引入了AES加密算法,实现了安全通信CAN协议,对CAN总线上通
信数据进行加密,隐藏真实数据,使总线传输数据具有机密性,并通过实验对安 全通信协议进行了分析和验证。

4.1安全CAN总线设计思路


数据机密性是衡量网络是否安全的一个重要属性,它反映的是CAN总线上传 输的真实数据是否可以被非授权节点读取。根据对CAN总线安全漏洞的分析, CAN总线以广播形式在网络上传输未经任何处理的消息,攻击者很容易通过监听
总线窃取到传输的真实数据,并利用这些数据向其他节点发送攻击消息,威胁车 辆安全。
CAN总线网络安全通信,就是要保证总线上传输数据的机密性,通过引入 AES加密算法,将发送节点的数据进行加密处理后再发送,接收节点接收到密文
数据解密后再执行,使得总线上传输的是无法解读真实含义的密文数据,达到防
止数据被窃取的目的。安全通信设计思路如图4-1所示。

根据安全通信设计思路,CAN总线传输的密文数据与发送节点加密前和接收

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/211764.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript基础知识22——断点调试

哈喽,你好啊,我是雷工! 断点调试是程序猿必备的调错,梳理逻辑的技能;当遇到程序报错,或者程序逻辑理解不了,都可以通过断点调试来辅助解决遇到的问题。 断点调试是程序猿必不可少的技能,本节学习…

【Openstack Train】十六、swift安装

OpenStack Swift是一个分布式对象存储系统,它可以为大规模的数据存储提供高可用性、可扩展性和数据安全性。Swift是OpenStack的一个核心组件,它允许用户将大量的数据存储在云上,并且可以随时访问、检索和管理这些数据。 Swift的设计目标是为了…

第十六届山东省职业院校技能大赛中职组网络安全赛项竞赛正式试题

第十六届山东省职业院校技能大赛中职组网络安全"赛项竞赛试题 一、竞赛时间 总计:360分钟 二、竞赛阶段 竞赛阶段任务阶段竞赛任务竞赛时间分值A、B模块A-1登录安全加固180分钟200分A-2本地安全策略设置A-3流量完整性保护A-4事件监控A-5服务加固A-6防火墙策…

深信服技术认证“SCSA-S”划重点:XSS漏洞

为帮助大家更加系统化地学习网络安全知识,以及更高效地通过深信服安全服务认证工程师考核,深信服特别推出“SCSA-S认证备考秘笈”共十期内容,“考试重点”内容框架,帮助大家快速get重点知识~ 划重点来啦 *点击图片放大展示 深信服…

「X」Embedding in NLP|Token 和 N-Gram、Bag-of-Words 模型释义

ChatGPT(GPT-3.5)和其他大型语言模型(Pi、Claude、Bard 等)凭何火爆全球?这些语言模型的运作原理是什么?为什么它们在所训练的任务上表现如此出色? 虽然没有人可以给出完整的答案,但…

金南瓜SECS/GEM C# SDK 快速使用指南

本文对如何使用金南瓜SECS/GEM C# SDK 快速创建一个满足SECS/GEM通信要求的应用程序,只需简单3步完成。 第一步:创建C# .NET程序 示例使用Visual Studio 2010,使用者可以选择更高级版本 Visual Studio 第二步:添加DLL库引用&am…

ThreadX开源助力Microsoft扩大应用范围:对比亚马逊AWS的策略差异

全球超过120亿台设备正在运行ThreadX,这是一款专为资源受限环境设计的实时操作系统。该操作系统在微控制器和小型处理器上表现出色,以极高的可靠性和精确的时间控制处理任务而闻名。 ThreadX曾是英特尔芯片管理引擎的引擎,并且是控制Raspber…

IntelliJ IDE 插件开发 | (二)UI 界面与数据持久化

系列文章 IntelliJ IDE 插件开发 |(一)快速入门 前言 在上一篇文章中介绍了在IDEA下开发、运行和安装插件的基本步骤,因此创建项目等基础步骤不再赘述,本文则开始介绍如何进行 UI 界面的开发以及相关数据的持久化存储&#xff…

unity 2d 入门 飞翔小鸟 飞翔脚本(五)

新建c#脚本 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Fly : MonoBehaviour {//获取小鸟(刚体)private Rigidbody2D bird;//速度public float speed;// Start is called before the first frame up…

强敌环伺:金融业信息安全威胁分析——钓鱼和恶意软件

门口的敌人:分析对金融服务的攻击 Akamai会定期针对不同行业发布互联网状态报告(SOTI),介绍相关领域最新的安全趋势和见解。最新的第8卷第3期报告主要以金融服务业为主,分析了该行业所面临的威胁和Akamai的见解。我们发…

SQL server 根据已有数据库创建相同的数据库

文章目录 用导出的脚本创建相同的数据库导出建表脚本再次建表 一些sql语句 用导出的脚本创建相同的数据库 导出建表脚本 首先,右击要导出的数据库名,依次选择任务-生成脚本。 简介(第一页)处选择下一步,然后来到选择…

反序列化 [网鼎杯 2020 朱雀组]phpweb 1

打开题目 我们发现这个页面一直在不断的刷新 我们bp抓包一下看看 我们发现index.php用post方式传了两个参数上去,func和p 我们需要猜测func和p两个参数之间的关系,可以用php函数MD5测一下看看 我们在响应处得到了一串密文,md5解密一下看看 发…

HBase-架构与设计

HBase架构与设计 一、背景二、HBase概述1.设计特点2.适用场景2.1 海量数据2.2 稀疏数据2.3 多版本数据2.4 半结构或者非结构化数据 三、数据模型1.RowKey2.Column Family3.TimeStamp 四、HBase架构图1.Client2.Zookeeper3.HMaster4.HRegionServer5.HRegion6.Store7.StoreFile8.…

10_企业架构NOSQL数据库之MongoDB

企业架构NOSQL数据库之MongoDB 学习目标和内容 1、能够简单描述MongoDB的使用特点 2、能够安装配置启动MongoDB 3、能够使用命令行客户端简单操作MongoDB 4、能够实现基本的数据操作 5、能够实现MongoDB基本安全设置 6、能够操作安装php的MongoDB扩展 一、背景描述及其方案设计…

PlantUML语法(全)及使用教程-类图

目录 1. 类图1.1、什么是类图1.2、元素声明1.3、类之间的关系1.4、关系上的标签1.5、在元素名称和关系标签中使用非字母1.6、添加方法 1. 类图 类图的设计语法与编程语言的传统语法相似。这种相似性为开发人员提供了一个熟悉的环境,从而使创建图表的过程更简单、更直…

接口获取数据控制台打印有值但是展开又没有了

谷歌浏览器只会展现响应式数据最后的结果,证明原来接口是有值的,后面对这个数据进行操作后,最终没有值了。所以对数据进行操作时最好对数据进行一次深拷贝 JSON.parse(JSON.stringify(data))

Apache Flink(七):Apache Flink快速入门 - DataStream BATCH模式

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 下面使用Java代码使用DataStream…

【9】PyQt对话框

目录 1. QMessageBox 2. QIputDialog 对话框是为了更好地实现人与程序的交互 对话框主要是完成特定场景下的功能,比如删除确认等 QDialog的子类有QMessageBox、QFileDialog、QFontDialog、QInputDialog等 1. QMessageBox QMessageBox是普通的对话框 代码示例: …

操作系统的特征

一、并发 并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。 并行 :是指两个或多个事件同一事件发生。 操作系统的并发性指计算机系统中“同时”运行着多个程序,这些程序宏观上看…

CleanMyMac X4.15.0最新官方和谐版下载

Mac系统进行文件清理,一般是直接将文件拖动入“废纸篓”回收站中,然后通过清理回收站,就完成了一次文件清理的操作,但是这么做并无法保证文件被彻底删除了,有些文件通过一些安全恢复手段依旧是可以恢复的,那…