【技术大神】对CAN总线报文进行CMAC加密的一种实现方式
随着车联网的发展,车辆网络通信的安全问题就成了不可忽视的一个问题,很多车厂在设计新平台的时候都会不约而同地进行相关的考虑。网络加密带给我们的是更安全的车内网络环境,但同时对相关ECU的硬件要求也随之提高。比如报文加密之后由于字节长度变长往往需要升级CAN总线到CAN FD等。这对很多国内本地的车厂来讲是一个不小的挑战。笔者之前设计了针对CAN网络进行报文加密的方案,既可以做到保持原有总线架构不用变动太大,又可以实现对报文的加密。
图1 CMAC的产生和校验
对于总线加密而言,简单的加密算法很难起到真正的加密效果,太复杂的又会浪费比较多的资源,所以目前汽车电子行业比较多的采用了AES-128的加密方式。RH850F1K是一款硬件支持AES-128加密算法的MCU,使用硬件实现加解密算法可以大大提高算法的效率,笔者测试每次只要2-3ns就可以完成一次AES-128的计算;而使用软件的话通常要在30-50ms,这么长的时间在实际的CAN通信中根本没法使用。不过要对CAN报文实现AES-128的加密还有一个问题就是字节长度的问题。我们知道AES-128至少针对16字节的数据进行加密,生成的数据也至少是16字节,而CAN报文最多只有8个字节。为了解决这个问题,笔者根据车上CAN报文的实际特点单独设计了一套方案。
首先第一步就是把CAN报文中有效的数据位都集中到尽量少的几个字节中,比如最后整理完之后可以放到4个字节之内。
然后把4字节填充成16字节,填充的内容可以自己定义。
获得16字节的数据后就可以根据AES-128的算法生成加密后的新的16字节的数据。
接下来把原始的数据以及加密后的部分数据重新组合成一个新的CAN的报文帧。具体的组合规则可以自己定义,不一定局限于下面的方式。
上面的报文帧就是CAN节点发送出去的报文帧。接收方接收到这一帧数据后,按照上面的方法解密,从而判断接收到的数据帧是否有效。
上述CMAC加密方案中主要有这样几个突出的特点:
1)RH850F1K可以硬件实现AES-128的复杂算法,很好满足加解密算法实时性的要求。
2)该方案对现有CAN网络本身无需改动,只要对报文的格式稍作改动就可以了。
希望这个方案可以对广大关注汽车电子网络安全的工程师们有所帮助。
世强元件电商版权所有,转载请注明来源和链接。
- |
- +1 赞 0
- 收藏
- 评论 3
本网站所有内容禁止转载,否则追究法律责任!
评论
全部评论(3)
-
用户_8239 Lv7. 资深专家 2018-03-02太实用了
-
一头笨牛 Lv8. 研究员 2018-02-14学习
-
小倾听 Lv8. 研究员 2018-02-14学习
相关推荐
【经验】C8051单片机Flash失效分析
本文将就 Silicon Labs C8051Fxxx单片机Flash失效的问题进行根因分析以及提出解决办法。
设计经验 发布时间 : 2017-07-27
【经验】PCB布线技巧:8位单片机端口Crossbar功能的使用及配置
如果单片机自带Crossbar功能,只要软件配置调整一下各端口功能,PCB布线就会畅通。
设计经验 发布时间 : 2017-08-09
【经验】8位单片机EFM8SB低功耗问题调试汇总
EFM8SB提供了非常优越的低功耗性能,但在设计时还是会遇到实测功耗比理论值高或无法进入Sleep状态等问题。
设计经验 发布时间 : 2017-08-15
高性价比Silicon labs EFM8单片机,STM8完美备选方案
Silicon Labs EFM8BB系列8位单片机采用流水线式CIP-51内核,70%指令的执行时间为1-2个时钟周期,与标准的8051指令集完全兼容,外设资源、性能指标及设计灵活性都具有自身独特的优势。
新产品 发布时间 : 2018-02-08
极海半导体加入深圳市汽车电子行业协会,共同推动国产汽车电子产业持续健康向上发展
热烈祝贺珠海极海半导体有限公司加入深圳市汽车电子行业协会,成为深圳市汽车电子行业协会的副会长单位!珠海极海半导体有限公司,是一家致力于开发工业级/车规级微控制器、模拟与混合信号IC及系统级芯片的集成电路设计型企业。极海团队拥有20年集成电路设计经验和嵌入式系统开发能力,为客户提供核心可靠的芯片产品,实现准确感应、安全传输和实时控制。
原厂动态 发布时间 : 2024-02-09
8位单片机EFM8的烧录器有哪些?
8位单片机EFM8系列采用C2调试接口,常见的烧录器有:1,官方的EFM8 STK、USB Debug Adapter、ToolStick。2,第三方的U-EC2/6、WizPro200EFM(支持EFM8和EFM32)等。
技术问答 发布时间 : 2016-10-25
8位混合信号单片机能够降低汽车电子设计的成本和复杂度
芯科科技提供的是C8051F58x单片机提供了高精度的振荡器,高精准的电压参考器,5V整流模块等相当多的片上外设,这些让混合信号单片机在汽车电子系统设计中的应用系统的设计难度降低了,并减少了元器件的数量和印制板的尺寸。
新应用 发布时间 : 2019-07-23
32bit低功耗EFM32G840F128 单片机GPIO的上下拉电阻功能相对于其它单片机有什么特色?
相对于其它单片机,EFM32的上下拉电阻功能更利于低功耗。如开源模式下,当输出高电平时会自动断开该连接以降低功耗;开漏模式下,当输出低电平时,上拉电阻会自动断开以降低功耗。
技术问答 发布时间 : 2017-05-05
为了提高EFM32单片机AD采样的实时性并降低功耗,在RTC中断中打开AD,并设置MCU进入EM1模式下进行AD采样,但功耗并没有降低,是什么原因?
测试发现在RTC中断中,EFM32单片机并没有进入EM1模式,设置EM1模式无效;由于在RTC中断中,RTC定时事件一直存在,所以导致进入EM1模式失败。为了实现AD采样的实时性以及低功耗,可以在RTC中断中开启AD,并在退出RTC中断之后在主程序中通过判断AD采样的标志来设置MCU进入EM1睡眠模式,以此来降低功耗。
技术问答 发布时间 : 2016-10-25
【产品】一款内置液晶面板驱动器和闪存的16位超低功耗RISC微控制器
爱普生(EPSON)推出的S1C17701,其休眠时为1μA,32.768kHz的工作频率、空闲时为2.5μA,工作时为13.5μA,适合遥控器、运动手表等典型应用。
新产品 发布时间 : 2018-02-26
单片机C8051F410 AD采集5V的电压如何实现?
C8051F410 AD的输入电压范围为0~Vref,Vref的最大值为2.5V,如果输入电压为5V,可以采用电阻分压的方法,以确保输入的电压不能超过Vref的最大值。
技术问答 发布时间 : 2017-02-20
8位单片机C8051F045 can的波特率是怎么配置的?
8位单片机C8051F045 Can 波特率的计算方法 可以参考 Calculation of the CAN bit timing。下载地址 http://www.sekorm.com/doc/59526.html
技术问答 发布时间 : 2017-05-26
【产品】最大工作频率48MHz的微控制器,嵌入式应用最佳选择
Silicon Labs新推出微控制器EFM8UB3系列,Flash容量为40kB,在512字节扇区内支持在线可编程,提供非易失性数据存储,同时支持固件的现场升级。提供独立的片上系统解决方案,具有多功能的外设接口。
新产品 发布时间 : 2018-02-08
可对标ST MCU的Silicon Labs小蜜蜂单片机EFM8,海量现货供应!
Silicon Labs的EFM8BB系列是STM8S003,STM8S103,STM8S105,STM8S005的备选方案。集成度高、体积小、功耗低、具优越的节电模式,是成本敏感型单片机应用的理想选择。
原厂动态 发布时间 : 2018-02-01
C8051F系列单片机的IO口与传统8051单片机相比有什么区别?
①C8051F系列单片机的IO口全部为三态双向口(而传统8051单片机P1、P2、P3口为准双向口),内部有弱上拉可禁止(传统8051单片机固有),可配置为开漏 输出和推挽输出(传统8051单片机只有开漏输出)。 ②片内数字资源要通过数据交叉开关(crossbar)按一定的优先级配置到IO引脚(传统8051单片机不具备这一功能)。IO口的配置更加灵活。
技术问答 发布时间 : 2017-10-10
电子商城
现货市场
服务
可定制板装式压力传感器支持产品量程从5inch水柱到100 psi气压;数字输出压力传感器压力范围0.5~60inH2O,温度补偿范围-20~85ºС;模拟和数字低压传感器可以直接与微控制器通信,具备多种小型SIP和DIP封装可选择。
提交需求>
定制水冷板尺寸30*30mm~1000*1000 mm,厚度1mm~50mm,散热能力最高50KW,承压可达3MPA;液冷机箱散热能力达500W~100KW。项目单次采购额需满足1万元以上,或年需求5万元以上。
提交需求>
登录 | 立即注册
提交评论