本发明属于工农业智能装备领域,具体涉及一种用于can总线通信的变密钥加密系统以及方法。
背景技术:
1、can总线通信是iso国际标准化的差分传输串口通信协议,因具有通信速度快、通信距离远和高可靠性等优点,被广泛应用于农业智能装备、汽车电子和医疗电子等领域。
2、目前基于can总线通信的智能设备,大多没有进行数据加密,或者加密也多以密钥不可变甚至无密钥居多。例如大多数设备应用简单的累加和checksum加密,或者应用crc-16加密算法加密,又或者应用密钥固定的des加密算法加密等,这些加密算法都没有密钥或者有密钥也是固定密钥,此类加密算法通信方式对于一些安全性要求较高的场合是不允许的。也就是说,固定的密钥通信、甚至无加密通信都会增大通信数据被破解的风险,导致外界侵入系统篡改数据,这在某些对关键数据要求严格保护的应用场景是禁止的。
3、可见,针对目前can总线通信传输关键涉密数据的特殊应用场合,需要有较高等级的加密保护,以及杜绝关键数据被破解的风险。
技术实现思路
1、有鉴于此,本发明提供一种用于can总线通信的变密钥加密系统,能够解决现有技术中的基于can总线通信的智能设备大多没有进行数据加密,或者加密也多以密钥不可变甚至无密钥居多,导致关键数据易于被破解的技术问题。
2、本发明还提供了一种用于can总线通信的变密钥加密方法及带隔离的can总线通信电路,可以应用于上述用于can总线通信的变密钥加密系统。
3、为解决上述技术问题,一方面,本发明提供一种用于can总线通信的变密钥加密系统,包括:主机和从机,所述主机和所述从机分别包含can总线通信模块;其中,所述主机和所述从机共同约定初始密钥,在密钥生命周期内,所述从机周期性发送一帧随机数据,并按3des加密算法和相应密钥进行加密结果计算,得到第一加密结果;所述主机收到所述从机传来的所述随机数据后,按同样的加密算法和密钥进行加密结果计算,得到第二加密结果,并将所述第二加密结果和控制指令数据按预定格式整合后发送给所述从机;所述从机收到数据帧后进行解析,若判断所述第一加密结果与所述第二加密结果相同,则执行相应功能,如果所述第一加密结果不等于所述第二加密结果则不执行相应功能。
4、根据本发明一个实施例,所述主机和所述从机采用差分传输方式的can通信。
5、根据本发明一个实施例,所述从机的mcu的adc模块采集周围环境噪声的方式生成随机种子数据,以作为最终生成所述随机数据所用。
6、根据本发明一个实施例,在密钥生命周期外,所述主机在间隔预设时间后随机更新密钥的任意位置字节内容,并将变化的密钥通过数据帧发送给所述从机,以实现变密钥通信目的。
7、第二方面,本发明提供了一种用于can总线通信的变密钥加密方法,所述变密钥加密方法应用于上述任一所述的用于can总线通信的变密钥加密系统,方法包括如下步骤:所述主机和所述从机共同约定初始密钥,在密钥生命周期内,所述从机周期性发送一帧随机数据,并按3des加密算法和相应密钥进行加密结果计算,得到第一加密结果;所述主机收到所述从机传来的所述随机数据后,按同样的加密算法和密钥进行加密结果计算,得到第二加密结果,并将所述第二加密结果和控制指令数据按预定格式整合后发送给所述从机;所述从机收到数据帧后进行解析,若判断所述第一加密结果与所述第二加密结果相同,则执行相应功能,如果所述第一加密结果不等于所述第二加密结果则不执行相应功能。
8、根据本发明一个实施例,配置所述从机的mcu的某一浮空的gpio为adc模式,用于采集环境噪声变化,取adc原始采集结果的最后一位用于组成所述随机种子数据。
9、根据本发明一个实施例,在密钥生命周期外,所述主机在间隔预设时间后随机更新密钥的任意位置字节内容,并将变化的密钥通过数据帧发送给所述从机。
10、根据本发明一个实施例,所述主机和所述从机采用差分传输方式的can通信,所述从机发送8字节随机数据,所述主机在变化密钥时帧头和帧尾数据,分别定义为24字节密钥变化的字节位置和其内容,未变化密钥时帧头和帧尾数据,均定义为0xaa。
11、根据本发明一个实施例,在密钥生命周期外,所述主机按目前密钥得到所述第二加密结果后,生成密钥变化位置随机数和随机变化密钥内容,更新所述主机本地的密钥完毕后,按约定数据格式整合数据,将此规格化的数据帧发送给所述从机,所述从机接收到所述主机传送来的数据后,判断保存在本地的加密结果和收到的加密结果是否一致,如果一致则进行下一步帧头数据判断,若帧头为0xaa直接执行相关功能,若帧头不为0xaa,则按相应关系进行解析密钥更新位置,并按此指定位置更新密钥内容和执行相关功能。
12、根据本发明一个实施例,所述从机发送所述随机数据的时间和所述主机的更新密钥周期的时间,通过所述3des加密算法设置。
13、本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
1.一种用于can总线通信的变密钥加密系统,其特征在于,包括:
2.根据权利要求1所述的用于can总线通信的变密钥加密系统,其特征在于,所述主机和所述从机采用差分传输方式的can通信。
3.根据权利要求1所述的用于can总线通信的变密钥加密系统,其特征在于,所述从机的mcu的adc模块采集周围环境噪声的方式生成随机种子数据,以作为最终生成所述随机数据所用。
4.根据权利要求1所述的用于can总线通信的变密钥加密系统,其特征在于,在密钥生命周期外,所述主机在间隔预设时间后随机更新密钥的任意位置字节内容,并将变化的密钥通过数据帧发送给所述从机。
5.一种用于can总线通信的变密钥加密方法,所述变密钥加密方法应用于权利要求1-4中任一项所述的用于can总线通信的变密钥加密系统,其特征在于,包括如下步骤:
6.根据权利要求5所述的用于can总线通信的变密钥加密方法,其特征在于,配置所述从机的mcu的某一浮空的gpio为adc模式,用于采集环境噪声变化,取adc原始采集结果的最后一位用于组成所述随机种子数据。
7.根据权利要求5所述的用于can总线通信的变密钥加密方法,其特征在于,在密钥生命周期外,所述主机在间隔预设时间后随机更新密钥的任意位置字节内容,并将变化的密钥通过数据帧发送给所述从机。
8.根据权利要求7所述的用于can总线通信的变密钥加密方法,其特征在于,所述主机和所述从机采用差分传输方式的can通信,所述从机发送8字节随机数据,所述主机在变化密钥时帧头和帧尾数据,分别定义为24字节密钥变化的字节位置和其内容,未变化密钥时帧头和帧尾数据,均定义为0xaa。
9.根据权利要求8所述的用于can总线通信的变密钥加密方法,其特征在于,在在密钥生命周期外,所述主机按目前密钥得到所述第二加密结果后,生成密钥变化位置随机数和随机变化密钥内容,更新所述主机本地的密钥完毕后,按约定数据格式整合数据,将此规格化的数据帧发送给所述从机,所述从机接收到所述主机传送来的数据后,判断保存在本地的加密结果和收到的加密结果是否一致,如果一致则进行下一步帧头数据判断,若帧头为0xaa直接执行相关功能,若帧头不为0xaa,则按相应关系进行解析密钥更新位置,并按此指定位置更新密钥内容和执行相关功能。
10.根据权利要求9所述的用于can总线通信的变密钥加密方法,其特征在于,所述从机发送所述随机数据的时间和所述主机的更新密钥周期的时间,通过所述3des加密算法设置。