can总线报文是固定的吗_【技术大神】对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字节,填充的内容可以自己定义。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值