AES密钥生成方法、改进AES的数据加密方法及汽车安防系统与流程
未命名
10-17
阅读:106
评论:0
aes密钥生成方法、改进aes的数据加密方法及汽车安防系统
技术领域
1.本发明涉及汽车安防技术领域,尤其涉及一种aes密钥生成方法、一种改进aes的数据加密方法及一种汽车安防系统。
背景技术:
2.近年来随着车辆防盗技术的发展与道路交通管理的完善,汽车的盗窃事件已经大为减少,但是在部分偏远地方仍然还会发生汽车的盗窃事件,给车主的财产安全带来一定威胁。汽车盗窃事件发生的其中一个重要原因就是汽车的安防系统功能不够完善,无法保障车辆安全,不能在车辆出现问题后及时通知车主。
3.另外,为了使汽车安防设备的功能与时俱进,给用户提供越来越好的体验,系统需要不定期升级更新,而现场更新不能满足用户对操作简便、升级稳定的需求,因此本实施例在已有的系统上增加了远程在线升级功能。为了防止远程升级过程中系统被盗取或破坏,确保数据传输的安全性,采用加密算法对该过程加密。
4.加密算法有对称加密和非对称加密两类。对称加密的加解密使用相同密钥,加密解密的步骤存在较高的对称性。对称加密算法采用单密钥加密,数据发送方将原始报文用密钥与加密算法加密,发送给接收方,接收方使用密钥和解密算法解密,从而得出原始数据。非对称加密算法需要公钥和私钥两个不同的密钥,用公钥加密,用对应私钥解密。非对称加密算法由于具有复杂性,安全性更高一些,但是其加密解密速度也较慢,且相对于对称加密算法,消耗的计算资源也相对较大。
5.常见的对称加密算法有des(data encryption standard)算法、aes(advanced encryption standard)算法等。des加密算法是在1977年美国国家标准局公布的算法。des加密算法运算速度较快,资源消耗也较少,但是随着攻击方式日趋多样,其缺点也逐渐暴露,des算法的分组太短,仅仅只有64位,而且它的密码生命周期、密钥的长度太短,因而安全性也较低,抗攻击性不够高。aes算法是为了替代过时的des加密算法,美国国家标准与技术研究所于2000年推出的高级加密算法。aes算法的分组长度为128位,密钥长度有128、192、256位,128位密钥的算法加密循环迭代轮数为10轮,192位为12轮,256位为14轮。aes算法能够有效抵御各种已知的密码攻击,拥有较高的安全性,且可以在硬件和软件中有效地实现。
6.aes算法每次循环的轮密钥是由上次循环的轮密钥计算而得的,密钥关联性较强,若某一轮密钥被破解,则其他轮密钥可推导得出,aes算法的安全性不够高。
技术实现要素:
7.本发明提一种aes密钥生成方法、改进aes的数据加密方法及汽车安防系统,解决的技术问题在于:aes算法的安全性不够高,以及现有汽车的安防系统功能不够完善。
8.为解决以上技术问题,本发明首先提供一种aes密钥生成方法,采用下式生成第一轮密钥{w[4],w[5],w[6],w[7]}:
[0009][0010]
采用下式生成第二轮密钥{w[8],w[9],w[10],w[11]}:
[0011][0012]
采用下式生成第三轮密钥至第十轮密钥:
[0013][0014]
其中,w[0],w[1],w[2],w[3]表示初始密钥的第1,2,3,4列密钥,w[i]表示第m轮密钥的第j+1列密钥,即i=4m+j,j=0,1,2,3,m=1,2,
…
,10;表示异或运算;t()表示复合函数,t()的函数运算是先将列密钥行移位,再用s盒完成字节替换,最后与对应的轮常量进行异或。
[0015]
作为一种优选的实施方式,生成第1轮密钥至第十轮密钥所用的轮常量分别为08000000、04000000、02000000、01000000、10000000、36000000、1b000000、80000000、40000000、20000000。
[0016]
作为一种优选的实施方式,在复合函数t()的函数运算中,将列密钥行移位具体是指:将列密钥的第一行数据保持不变,第二行数据循环左移一个字节,第三行数据循环左移两个字节,第四行数据循环左移三个字节。
[0017]
作为一种优选的实施方式,在复合函数t()的函数运算中,用s盒完成字节替换具体是指:以列密钥的高四位为行值索引、低四位为列值索引,从aes定义的s盒中取出对应行与列位置元素替换列密钥中的所有元素。
[0018]
本发明还提供一种改进aes的数据加密方法,其关键在于,包括步骤:
[0019]
s1、采用所述的aes密钥生成方法生成第一轮密钥{w[4],w[5],w[6],w[7]}、第二轮密钥{w[8],w[9],w[10],w[11]}直至第十轮密钥{w[40],w[41],w[42],w[43]};
[0020]
s2、将原始数据转化为一个4*4的状态矩阵;
[0021]
s3、将所述状态矩阵与初始密钥{w[0],w[1],w[2],w[3]}逐位异或;
[0022]
s4、依序执行第一轮操作、第二轮操作至第九轮操作,第一轮操作至第九轮操作中的每一轮操作包括依次执行使用s盒对异或结果进行字节替换、行移位操作、列混淆操作、与该轮密钥进行逐位异或;
[0023]
s5、进入第十轮操作,对第九轮输出的异或结果依次执行使用s盒对异或结果进行字节替换、行移位操作、与第十轮密钥{w[40],w[41],w[42],w[43]}进行逐位异或;
[0024]
s6、将第十轮操作的输出数据作为原始数据的加密数据。
[0025]
本发明还提供一种汽车安防系统,其关键在于:包括安装于汽车上的安防车载硬件设备以及远程通信连接的服务器;所述安防车载硬件设备包括mcu及与所述mcu连接的喇叭控制电路、车门电压分压电路、acc电压分压电路、车辆输入电压分压电路、供电电路、油路控制电路、姿态传感器、定位模块、蓝牙模块和4g通信模块;
[0026]
所述车门电压分压电路用于与汽车的门电路连接,获取汽车的门电压信号进行分压后发送至所述mcu;
[0027]
所述acc电压分压电路用于与汽车的acc电路连接,获取汽车的acc电压信号进行分压后发送至所述mcu;
[0028]
所述车辆输入电压分压电路用于采集汽车输入电压信号进行分压后发送至所述mcu;
[0029]
所述供电电路用于获取汽车的输入电压并进行转换为所述mcu及所述mcu连接的需要供电的电路模块供电;
[0030]
所述姿态传感器用于获取汽车的姿态信息并发送至所述mcu;
[0031]
所述定位模块用于获取汽车的位置信息并发送至所述mcu;
[0032]
所述mcu用于根据所述车门电压分压电路输入的信号判断车门异常开启时,或者根据所述acc电压分压电路判断车辆异常启动时,或者根据所述车辆输入电压分压电路输入的信号判断车辆异常断电时,或者根据所述姿态传感器输入的信号判断车辆异常震动或倾斜时,或者根据所述定位模块输入的信号判断车辆定位信号异常时,控制所述喇叭控制电路进行鸣喇叭,并控制所述4g通信模块将车辆异常事件通过所述4g通信模块上报至所述服务器;
[0033]
所述服务器用于将相关的车辆异常事件发送至用户终端,当用户终端有下达油路切断指令时将该指令下传至所述mcu;
[0034]
所述mcu还用于在检测到车辆异常启动时或者接收到用户下达的油路切断指令时,通过所述油路控制电路控制汽车油路断开;
[0035]
在汽车上的用户终端连接所述蓝牙模块,向所述mcu发送设防或破防的状态控制指令;
[0036]
所述mcu收到设防的状态控制指令时开始接收数据判断车辆是否异常,收到破防的状态控制指令时停止接收数据。
[0037]
作为一种优选的实施方式,所述安防车载硬件设备还包括连接所述mcu的can收发器,所述can收发器用于连接汽车的can网络,以获取汽车的车速、发动机转速、发动机转矩发送至所述mcu;
[0038]
所述mcu还用于在破防的状态下根据所述姿态传感器输出的角度信息计算车辆坡度信息,并结合汽车的车速、发动机转速、发动机转矩计算汽车重量并将重量数据发送至所述服务器。
[0039]
作为一种优选的实施方式,所述mcu计算汽车重量的公式为:
[0040]
m=(3t
tq
πnη
t
/(25ua)-cdau
a2
/21.15)/(gf+gi+δdu/dt)
[0041]
其中,m是计算出的汽车重量,t
tq
是发动机转矩,n是发动机转速,η
t
是汽车传动系统的机械效率,ua是车速,cd是空气阻力系数,a是车辆的迎风面积,g是重力加速度,f是汽车的滚动阻力系数,i为坡高与底长之比,i由汽车的坡度计算得到,δ是汽车旋转质量换算系
数,du/dt是汽车加速度。
[0042]
作为一种优选的实施方式,所述服务器还用于通过所述4g通信模块将采用所述的改进aes的数据加密方法生成的升级包下发至所述mcu用于远程在线升级。
[0043]
本发明提供的一种aes密钥生成方法及改进aes的数据加密方法,采用新的方式生成轮密钥,从第二轮开始各轮密钥的生成不仅仅与相邻的前一轮密钥有关。第二轮密钥的生成是由初始密钥与第一轮密钥共同计算而得,若该轮密钥被攻击破解,无法直接推算出第一轮密钥。第三轮开始的密钥的扩展方式由其前面第二轮与第三轮密钥中的某两列计算而得,若某轮密钥被破解,无法推出其前轮密钥。因此,通过本方法扩展出的轮密钥安全性得以提高,采用该aes密钥生成方法的aes算法具有更高的安全性。
[0044]
本发明提供的一种汽车安防系统,结合蓝牙技术、传感器技术、定位技术、4g通信、改进aes加密等技术,实现车辆的异常检测与远程数据传输。系统优化了当前已有汽车安防系统的不足之处,能够多实现对车辆进行监控,操作便捷,且具有实时性好、可靠性高等优点。相比于目前常见的汽车安防系统,本系统增加了无线通信、实时导航定位等功能,当系统监测到车辆有异常(车门被非法打开、车辆非法启动、车辆供电遭到破坏、强制拖车等)发生时能够以电话、短信的形式及时通知车主。而且系统中使用了高精度传感器,能实时采集设备的角速度、倾斜角度等信息,从而判定车辆的震动情况。同时为了更方便测量车辆重量,确保汽车能够安全驾驶,设计了一种可计算汽车重量的方法,利用汽车行驶过程中的参数对汽车重量进行计算。
附图说明
[0045]
图1是本发明实施例提供的生成第三轮密钥至第十轮密钥的原理图;
[0046]
图2是本发明实施例提供的行移位的原理示例图;
[0047]
图3是本发明实施例提供的s盒字节替换的原理示例图;
[0048]
图4是本发明实施例提供的改进aes的数据加密方法的流程图;
[0049]
图5是本发明实施例提供的aes算法与改进aes的数据加密方法的实验对比图;
[0050]
图6是本发明实施例提供的汽车安防系统的结构图;
[0051]
图7是本发明实施例提供的主控制器(mcu)接口连接关系图;
[0052]
图8是本发明实施例提供的gd32f103c8t6电路图;
[0053]
图9是本发明实施例提供的电池升压电路图;
[0054]
图10是本发明实施例提供的jy60与mcu连接方式图;
[0055]
图11是本发明实施例提供的车门信号检测电路图;
[0056]
图12是本发明实施例提供的can通信电路图;
[0057]
图13是本发明实施例提供的油路控制电路图;
[0058]
图14是本发明实施例提供的喇叭控制电路图。
具体实施方式
[0059]
下面结合附图具体阐明本发明的实施方式,实施例的给出仅仅是为了说明目的,并不能理解为对本发明的限定,包括附图仅供参考和说明使用,不构成对本发明专利保护范围的限制,因为在不脱离本发明精神和范围基础上,可以对本发明进行许多改变。
[0060]
实施例1
[0061]
本发明实施例提供一种aes密钥生成方法,具体包括:
[0062]
采用下式生成第一轮密钥{w[4],w[5],w[6],w[7]}:
[0063][0064]
采用下式生成第二轮密钥{w[8],w[9],w[10],w[11]}:
[0065][0066]
采用下式生成第三轮密钥至第十轮密钥:
[0067][0068]
其中,w[0],w[1],w[2],w[3]表示初始密钥的第1,2,3,4列密钥,w[i]表示第m轮密钥的第j+1列密钥,即i=4m+j,j=0,1,2,3,m=1,2,
…
,10;表示异或运算;t()表示复合函数,t()的函数运算是先将列密钥行移位,再用s盒完成字节替换,最后与对应的轮常量进行异或。生成第三轮密钥至第十轮密钥的过程可用图1表示。
[0069]
初始密钥可以看成4*4矩阵,矩阵每一列为4字节,则初始密钥w0={w[0],w[1],w[2],w[3]},将初始密钥通过上述规则扩展为10个4字节的数组w1、w2、w3…w10
,即10个轮密钥,每轮密钥wi由四个列密钥组成,加密过程中按照顺序依次取对应轮密钥参与运算。
[0070]
因为目前aes在十轮密钥生成过程中采用的轮常量已被公开第一轮至第十轮分别为01000000、02000000、04000000、08000000、10000000、20000000、40000000、80000000、1b000000、36000000,是按照一定规律逐步生成,在破解时较为容易。本技术将这种规律打乱,创造一种特殊的规则,这种规则具体是:将第一轮的轮常量与第四轮的轮常量替换,第二轮的轮常量与第三轮的轮常量替换,第五轮的轮常量保持不变,第六轮和第十轮的轮常量替换,第七轮和第九轮的轮常量替换,第八轮的轮常量保持不变,最后,生成第1轮密钥至第十轮密钥所用的轮常量分别为08000000、04000000、02000000、01000000、10000000、36000000、1b000000、80000000、40000000、20000000。采用新的轮常量,因规则较为复杂,破解难度大大提升。
[0071]
而在复合函数t()的函数运算中,将列密钥行移位具体是指:将列密钥的第一行数据保持不变,第二行数据循环左移一个字节,第三行数据循环左移两个字节,第四行数据循环左移三个字节,如图2示例所示。
[0072]
而在复合函数t()的函数运算中,用s盒完成字节替换具体是指:以列密钥的高四位为行值索引、低四位为列值索引,从aes定义的s盒中取出对应行与列位置元素替换列密
钥中的所有元素,如图3示例所示。
[0073]
现有aes算法每次循环的轮密钥是由上次循环的轮密钥计算而得的,密钥关联性较强,若某一轮密钥被破解,则其他轮密钥可推导得出,例如,若第1轮密钥{w[4],w[5],w[6],w[7]}被破解,则由w[5],w[6],w[7]的计算方式可推导出w[1],w[2],w[3],进而由w[4]的计算公式推导出w[0],则第一轮密钥被破解;同时也可通过第一轮密钥推导出第二轮密钥{w[8],w[9],w[10],w[11]},进而推导出所有轮密钥。
[0074]
而本发明对轮密钥生成方式进行改进后,每一轮密钥都不仅仅依赖于相邻密钥。第一轮密钥的第三列w[6]与第四列w[7]仅与本轮密钥有关,无法根据其推出其他轮密钥相关信息,而其第一列w[4]仅与初始密钥的第一列w[0]和第四列w[3]有关,第二列w[5]仅与初始密钥的第二列w[1]和第三列w[2]有关,也无法根据其推出初始密钥。从第二轮开始各轮密钥的生成不仅仅与相邻的前一轮密钥有关。第二轮密钥的生成是由初始密钥与第一轮密钥共同计算而得,若该轮密钥被攻击破解,无法直接推算出第一轮密钥。第三轮开始的密钥的扩展方式由其前面第二轮与第三轮密钥中的某两列计算而得,若某轮密钥被破解,无法推出其前轮密钥。因此,通过本方法扩展出的轮密钥安全性得以提高。
[0075]
依赖于上述轮密钥生成方法,本实施例还提供一种改进aes的数据加密方法,如图4所示,包括步骤:
[0076]
s1、采用上述的aes密钥生成方法生成第一轮密钥{w[4],w[5],w[6],w[7]}、第二轮密钥{w[8],w[9],w[10],w[11]}直至第十轮密钥{w[40],w[41],w[42],w[43]};
[0077]
s2、将原始数据转化为一个4*4的状态矩阵;
[0078]
s3、将所述状态矩阵与初始密钥{w[0],w[1],w[2],w[3]}逐位异或;
[0079]
s4、依序执行第一轮操作、第二轮操作至第九轮操作,第一轮操作至第九轮操作中的每一轮操作包括依次执行使用s盒对异或结果进行字节替换、行移位操作、列混淆操作、与该轮密钥进行逐位异或;
[0080]
s5、进入第十轮操作,对第九轮输出的异或结果依次执行使用s盒对异或结果进行字节替换、行移位操作、与第十轮密钥{w[40],w[41],w[42],w[43]}进行逐位异或。
[0081]
s6、将第十轮操作的输出数据作为原始数据的加密数据。
[0082]
列混淆是将矩阵与固定矩阵相乘,实现原始矩阵中每列的4个字节的线性变换。轮密钥加是指将矩阵的每个字节与密钥逐位异或的操作,在算法的首尾使用轮密钥加,可以提高算法的安全性。加密解密使用相同的11次轮密钥,通过密钥扩展将128位初始密钥扩展出不同轮密钥。
[0083]
通过在visual studio平台编写代码仿真来对算法进行测试。测试中使用数据00112233445566778899aabbccddeeff作为待加密明文,使用数据000102030405060708090a0b0c0d0e0f作为初始密钥,对算法的加解密计算结果进行验证。同时对原aes算法与改进后的算法的运行时间进行测试,由于单次运行时间过短,因此通过运行10000次来测试计算时间,每种算法各测试5次,测试结果如图5所示。从图5中可以看出,aes算法和改进后aes算法加密后的数据为69c4e0d86a7b0430d8cdb78070b4c55a,符合标准输出结果,且解密后的数据与加密前数据相同,算法仿真正确。
[0084]
通过仿真结果分析aes算法与本实施例改进后的算法的运行时间的区别,将五次测试的运行结果取平均值,如表1所示,从中可以看出,aes算法对128位数据的进行10000次
加解密的平均运行时间为0.073047s,本实施例改进后的算法平均运行时间为0.104024,比原算法增加30.977ms,毫秒级的变化对本实施例实际应用不会产生影响,本改进方法对计算效率影响不大。
[0085]
表1
[0086][0087]
因此,通过本方法扩展出的轮密钥安全性得以提高,采用该aes密钥生成方法的aes算法具有更高的安全性。
[0088]
实施例2
[0089]
本实施例提供一种功能完善的汽车安防系统,如图6所示,包括安装于汽车上的安防车载硬件设备以及远程通信连接的服务器;安防车载硬件设备包括mcu及与mcu连接的喇叭控制电路、车门电压分压电路、acc电压分压电路、车辆输入电压分压电路、供电电路、油路控制电路、姿态传感器、定位模块、蓝牙模块和4g通信模块;
[0090]
车门电压分压电路与汽车的门电路连接,获取汽车的门电压信号进行分压后发送至mcu;
[0091]
acc电压分压电路与汽车的acc电路连接,获取汽车的acc电压信号进行分压后发送至mcu;
[0092]
车辆输入电压分压电路采集汽车输入电压信号进行分压后发送至mcu;
[0093]
供电电路获取汽车的输入电压并进行转换为mcu及mcu连接的需要供电的电路模块供电;
[0094]
姿态传感器获取汽车的姿态信息并发送至mcu;
[0095]
定位模块获取汽车的位置信息并发送至mcu;
[0096]
mcu根据车门电压分压电路输入的信号判断车门异常开启时,或者根据acc电压分压电路判断车辆异常启动时,或者根据车辆输入电压分压电路输入的信号判断车辆异常断电时,或者根据姿态传感器输入的信号判断车辆异常震动或倾斜时,或者根据定位模块输入的信号判断车辆定位信号异常时,控制喇叭控制电路进行鸣喇叭,并控制4g通信模块将车辆异常事件通过4g通信模块上报至服务器;
[0097]
服务器将相关的车辆异常事件发送至用户终端,当用户终端有下达油路切断指令时将该指令下传至mcu;
[0098]
mcu还在检测到车辆异常启动时或者接收到用户下达的油路切断指令时,通过油路控制电路控制汽车油路断开;
[0099]
在汽车上的用户终端连接蓝牙模块,向mcu发送设防或破防的状态控制指令;
[0100]
mcu收到设防的状态控制指令时开始接收数据判断车辆是否异常,收到破防的状
态控制指令时停止接收数据。
[0101]
如图6,安防车载硬件设备还包括连接mcu的can收发器,can收发器连接汽车的can网络,以获取汽车的车速、发动机转速、发动机转矩发送至mcu;mcu还在破防的状态下根据姿态传感器输出的角度信息计算车辆坡度信息,并结合汽车的车速、发动机转速、发动机转矩计算汽车重量并将重量数据发送至服务器。
[0102]
本发明安防车载硬件设备实现的功能有:
[0103]
1、车门电压信号采集:汽车开门时车门电压会发生变化,车辆门限有正触发与负触发两种触发方式,正触发方式为车门关闭时其电压为0v,开启时跳变到12v,负触发方式为车门关闭时电压为12v,开启时跳变到0v。因此可通过实时采集车辆门电压信号来分析车辆是否出现异常开门事件。此功能采用单片机内置的ad转换器来实现,通过分压电路将车门电压进行分压处理后传入主控制器io口进行ad采样,主控制器根据采样值计算实际电压值并判断是否异常。
[0104]
2、车辆启动状态的检测:车辆启动时,车辆的acc档位的电压会从0v跳变到到12v,因此通过检测acc的电压变化即可分析车辆是否出现异常启动。此功能同样可通过单片机内置的ad转换器来实现,acc电压进行分压处理后传入主控制器io口进行ad采样,主控制器根据采样值计算实际电压值并判断是否异常。
[0105]
3、车辆震动事件检测:震动事件可以依据角度、角速度等参数来表示,而这些参数可通过传感器来感知,因此可利用传感器感知到的信息来分析车辆是否发生异常震动事件。本系统选择使用高精度的姿态传感器实时采集设备各个方向的角速度、角度等信息,主控制器与姿态传感器模块之间通过串口进行通信,主控制器接收到串口由姿态传感器模块发送的数据,计算出设备的实际角度、角速度值,并依据该值判断车辆是否发生异常震动。
[0106]
4、车辆供电状态检测:对车辆异常断电事件的监控通过采集汽车蓄电池供电电压实现。安防设备除了通过车辆蓄电池供电,还另外配有电池供电,若车辆异常断电,电池可驱动设备工作。因此系统通过检测汽车蓄电池输入的电压状态判断车辆是否异常断电,采用单片机内置的ad转换器实现该功能,车辆输入电压经过分压处理后传入主控制器进行ad采样,主控制器依据采样值计算实际电压值并判断是否发生异常断电。
[0107]
5、定位信号采集:安防设备需要实时采集车辆位置信息,通过卫星定位模块实现该功能。定位模块实时获取设备所在位置经纬度信息,主控制器通过串口接收定位模块采集到的位置信息,实现精准定位。
[0108]
6、can数据采集:为了实现车辆重量监测功能,本实施例提出了一种车辆重量计算方法,可通过汽车运行中的参数计算出车重,该数据的采集可通过can模块实现。can模块包括can控制器与can收发器,本实施例使用的主控制器中自带can控制器,因此在系统中设计can收发器电路,即可完成can数据的收发。
[0109]
7、4g远程传输:安防设备监测到车辆的异常时需要将异常信息上报至服务器,综合对比分析几种远程无线数据传输技术的参数与性能,考虑系统实际功能需求,最终采用4g通信技术实现数据的远程传输与远程控制功能,通过4g通信模块实现。主控制器将需要传输的信息处理完成后通过串口发送至4g通信模块,实现数据的远程传输。同时,服务器下发的控制指令也利用4g通信模块接收。
[0110]
8、喇叭控制:若在设防状态下安防设备监测到车辆非法开门、异常断电、异常启动
或异常震动等事件时,需要发出声响进行警示,通过控制车辆喇叭实现该功能。在安防设备中设计喇叭控制电路,主控制器输出控制信号使车辆鸣笛。
[0111]
9、油路控制:安防设备监测到车辆异常启动时需要自动控制车辆断油,使车辆无法点火运行;同时安防设备需要执行服务器下发的通油断油指令,此功能通过油路控制电路实现。油路控制电路与车辆上的油路线束相连,主控制器输出油路控制信号实现车辆的通油断油。
[0112]
10、蓝牙通信:安防设备需要实现与用户应用软件近距离交互的功能,考虑几种近距离无线通信技术的优缺点,采用蓝牙方式实现该功能,蓝牙技术具有统一的协议标准,使用起来方便且快捷。在安防设备中设计蓝牙模块电路,与应用软件进行通信,蓝牙模块收到应用软件发送的指令后传输给主控制器进行处理。
[0113]
根据以上分析,安防设备的实现需要多个模块,包括主控制器模块、供电模块、姿态传感器模块、蓝牙模块、4g通信模块、can模块以及定位模块等。主控制器采用串口通信的方式与姿态传感器模块、定位模块和4g通信模块进行数据的传输。由于各个模块的供电电压不完全一致,因此还需要设计供电模块为系统中各个模块进行供电,本设备总体输入电压为车辆蓄电池12v供电电压,通过电源稳压芯片将其转化为3.3v电压、3.8v电压、5v电压为主控制器和其他功能模块供电。
[0114]
安防系统需实现车辆震动信息的检测,而震动的发生可通过设备的倾斜角度、角速度等数据来判断,这些数据可通过传感器来感知。本实施例使用姿态传感器来获取该信息。本实施例采用jy60姿态传感器进行姿态感知,该模块采用了先进的数字滤波技术,有效降低了测量噪声,而且模块能够在动态环境下准确测量并输出模块当前的姿态,测量精度高,稳定性极高,适用于本系统。其内部陀螺仪的旋转轴所指的方向不受外力影响时不会发生改变,始终与初始方向平行,因此通过与初始方向的偏差即可计算旋转方向与角度。
[0115]
本实施例设计了一种可计算汽车重量的算法,利用汽车行驶过程中的参数对汽车重量进行计算。汽车行驶过程中,会同时受到行驶阻力与驱动力,分析车辆运行中的各种阻力,并利用行驶阻力与驱动力相等的关系,可以推导出汽车质量的计算公式。
[0116]
mcu计算汽车重量的公式为:
[0117]
m=(3t
tq
πnη
t
/(25ua)-cdau
a2
/21.15)/(gf+gi+δdu/dt)
[0118]
其中,m是计算出的汽车重量,t
tq
是发动机转矩,n是发动机转速,η
t
是汽车传动系统的机械效率,ua是车速,cd是空气阻力系数,a是车辆的迎风面积,g是重力加速度,f是汽车的滚动阻力系数,i为坡高与底长之比,i由汽车的坡度计算得到,δ是汽车旋转质量换算系数,du/dt是汽车加速度。
[0119]
式中需要用到的汽车行驶速度、发动机转矩、转速参数可通过can总线采集,坡高与坡长之比可通过由系统中jy60传感器获取的信息计算,车辆与路面确定时空气阻力系数、滚动阻力系数、汽车旋转质量换算系数以及传动系统的机械效率为常数。使用该方法测量汽车重量不需要其它外在条件,具有很高的实用价值。
[0120]
对本实施例提出的车辆重量计算方法进行实车验证,使用某汽车厂的小型商用车进行测试,该车辆的实际重量为2970kg,其迎风面积为6m2。空气阻力系数为0.6,滚动阻力系数为0.018,汽车的旋转质量换算系数δ=1.1,传动系统的机械效率η
t
=1,通过车辆运行中can总线采集到的数据计算车辆行驶速度、发动机转矩、转速信息,根据设备中jy60采集
的数据计算坡度。基于以上参数,完成对车辆重量的计算,并依据实际车重计算误差,表2所示为部分数据的测量结果,从表2中可以看出,计算出的汽车重量与实际车重的误差基本在10%以内,而平均误差不超过5%,具有较高的计算精度。
[0121]
表2
[0122][0123]
为了使汽车安防设备的功能与时俱进,给用户提供越来越好的体验,系统需要不定期升级更新,而现场更新不能满足用户对操作简便、升级稳定的需求,因此本实施例在已有的系统上增加了远程在线升级功能。为了防止远程升级过程中系统被盗取或破坏,确保数据传输的安全性,服务器还通过4g通信模块将采用改进aes的数据加密方法生成的升级包下发至mcu远程在线升级。
[0124]
下面对安防车载硬件设备的各个电路模块进行示例性说明。
[0125]
主控制器是整个系统的核心控制单元,本系统中主控制器需要完成信号的采集、数据的处理与传输、控制信号输出等工作,需要实现的功能有:实现信号采集功能,监测汽车门电压、车辆启动开关acc电压、姿态传感器模块数据、卫星定位模块数据;对数据进行快速处理,并通过4g模块远程传输;监测到异常事件时,控制喇叭鸣响,必要时控制车辆油路;接收并响应通过4g模块传输的指令;接收并执行通过蓝牙模块传输的指令。
[0126]
因而主控制器需要与多种外围设备进行通信,需选择符合功能需求,综合性能好的主控制器。本系统的主控制器选用兆易公司的微处理器gd32f103c8t6,该器件是基于arm cortex-m3的32位通用微控制器,处理性能好,片内闪存flash最大为128kb,ram最大为20kb,工作温度范围广,内嵌有实时时钟和两个看门狗,还具有掉电复位、上电复位等功能。综上所述,该芯片具有高性能、低成本等优点,能够满足本系统需求。
[0127]
gd32f103c8t6的供电电压为2.6v-3.6v,本实施例为其提供3.3v供电电压。主控制器与汽车输入电压信号分压电路、车门信号分压电路、acc信号分压电路、以及车辆喇叭控制电路、油路控制电路等部分采用io口进行连接,实现对异常信号的采集功能和对车辆喇叭与油路的控制功能。姿态传感器、4g通信模块、蓝牙模块通过串口与主控制器通信,其各个接口如图7所示。主控制器通过复位电路、时钟电路、程序下载电路等电路保证其正常工作,从而能够控制整个系统协调运行。
[0128]
本实施例使用的主控制器为低电平复位,复位电路由一个电容与一个电阻串联组成,在上电瞬间电容没有电,可以视为短路,复位端口在上电瞬间与地相连,此时端口为低电平,上电后电源通过电阻向电容充电,充电完成后电容相当于断路,端口被上拉为高电平。复位端口复位完成后为高电平。选用8mhz的无源晶振为主控制器提供时钟,将其连接到主控制器的osc_in与osc_out引脚,为mcu提供外部时钟后,在芯片内部使用锁相环实现倍频,提供稳定的高精度时钟源。gd32f103系列内核支持jtag调试接口与swd调试接口。jtag接口标准为20针接口,其中5根信号接口,swd接口标准为5针接口,其中2根信号接口,分别为swclk和swdio。与jtag相比,swd可以减少对单片机gpio口的占用,因此本实施例下载电路选择使用swd接口。swd接口中swclk信号线是串行时钟线,swdio是串行数据线。根据以上分析设计出主控制器的硬件电路图,如图8所示。
[0129]
电源电路的合理设计是保障硬件系统正常运转的前提,需要依靠实际情况选择合适电压为系统中的用电单元供电。系统总体输入电压为车辆输入的12v电压,主控制器、蓝牙模块、定位模块、姿态传感器模块以及检测端口模块的供电电压为3.3v,4g通信模块ec200u的供电电压为3.8v,can模块供电电压为5v,因此需要设计电压转换电路,将12v的输入电压进行降压与稳压,为不同模块提供相应电压。本发明采用降压稳压器tps54260将输入的12v电压降压,该器件是输入电压范围大,为3.5v至60v,采用该芯片将车辆输入电压降至5v,可为can模块供电,再将5v电压通过tlv733稳压芯片分别转换为3.3v电压与1.8v电压,3.3v电压为主控制器、定位模块、姿态传感器模块、蓝牙模块的供电电压,1.8v电压为4g模块的电平转换电路的供电电压。具体的电压转换电路容易实现,本例不列出。
[0130]
同时为了防止车辆供电异常而导致安防设备无法工作,在系统中设计了电池供电电路,如图9所示,在车辆电源断电时设备自带的电池也可维持安防系统正常工作,电池输出电压通过升压电路升压后再接入降压电路为系统供电。
[0131]
通信模块的供电电压为3.8v,通过tps54260稳压器将输入电压转至3.8v为4g通信模块供电。
[0132]
车辆震动情况的检测利用jy60姿态传感器模块来实现,该模块连接方便,内部自带电压稳定电路,精度很高,本实施例使用该模块获取安防设备的角度和角速度信息,并将其通过串口发送至主控制器,用于车辆颠簸、倾斜等非正常状态的检测。jy60模块与mcu通过串口相连,用于将采集到的数据传递给mcu进行处理,其连接方式如图10所示。
[0133]
为便于车主实时了解车辆位置等信息,在系统中使用了定位技术,主控制器接收到定位模块通过串口发送的数据,将定位信息通过4g模块传输出去。定位模块选型为移远通信公司的全球导航卫星系统模块l76k,该模块支持多卫星系统,可多系统联合定位和单系统独立定位,定位快速、精准、且性能高,且该模块尺寸小,即使是在复杂城市环境中也能实现稳定的高精度定位,接收灵敏度高,噪声消除性能强,模块抗干扰能力强。
[0134]
在车门打开或关闭时,其电压会发生变化,因此通过采集车门电压信号判定车辆是否发生异常开门事件。车门处于关闭状态时电压为0v,车门开启时电压到达6v以上,因此选用6v作为异常开门事件的判断阈值。车门信号为模拟电压数据,通过主控制器进行ad采集、分析和判断。gd32f103内部集成了一个12位的adc,有18个通道,可测量16个外部和2个内部信号源,adc的供电电压为3.3v,因此使用adc对车门电压进行采样需要先将其分压处理,确保分压后的电压在3.3v以下。由于车门电压收到冲击时可能大于12v,选用1/16的分
压比进行分压处理,通过300k和20k两个分压电阻实现分压。车门信号电压分压至3.3v以下后传入主控制器进行adc采样分析,同时采用两个反向二极管控制分压电路输出电压在-0.7~4v之间,对电路进行保护,如图11所示。adc的参考电压vref为3.3v,采样精度为vref/(212-1),车门开启的阈值电压6v经分压后为0.375v,可以正常采样。
[0135]
车辆总输入电压的检测和acc电压的检测与车门信号检测原理相同,均为对相应信号分压后利用主控制器内置的adc进行电压采集并分析,电路设计方式也相同,因而此处不再赘述。
[0136]
使用can模块完成车速、发动机转矩、发动机转速的采集,以便于车辆重量的计算,gd32f103c8t6自带有can控制器,因此只需设计can收发器即可完成can通信,can收发器选用恩智浦公司第三代半导体产品tja1042t,该收发器满足汽车协议中对can物理层的设计条件,能够为can通信提供高速、可靠、抗干扰的通信环境。can模块设计电路如图12所示。
[0137]
本设计中采用的4g传输设备是移远通信ec200u-cn模块,该模块内置丰富的网络协议,降低了终端设计的成本,且该模块支持多种驱动和软件功能,性价比很高,可扩展性高,可以实现稳定远程数据传输,适合在本设计中安防领域使用。
[0138]
由于ec200u与主控制器电平电压不一致,ec200u的串口电平为1.8v,主控制器电平为3.3v,因此需在ec200u和mcu的串口连接中增加电平转换器。本实施例使用ti公司的双向电平转换器芯片txb0108实现mcu与4g模块之间的电平转换。
[0139]
蓝牙模块电路是为了完成车载安防设备与手机app端之间的通信,在4g信号较弱时,可通过蓝牙方式进行指令的传输,实现设防撤防控制功能。蓝牙模块的选型为欧菲智联科技公司的蓝牙透传模组nl-mdlo4a,其主芯片采用的是nordic推出的蓝牙芯片nrf52832,该产品具有稳定可靠的透传性能,很适用于本设计安防领域,该模组支持串口命令模式,支持蓝牙4.0通讯协议,可用于实现mcu与模组之间的数据交互,并通过串口命令对模组进行相关的参数配置。
[0140]
汽车安防设备检测到车辆异常启动时或收到服务器下发的断油指令时,可通过油路控制电路将车辆断油。油路控制电路如图13所示,通过mcu的pb12口来控制车辆油路状态,利用电磁继电器控制油路工作电路的通断。车辆正常情况下,pb12处于低电平,继电器不工作,节点4与节点3形成环形通路,车辆可以正常点火。若汽车安防设备收到断油指令,则控制pb12通电,三极管导通,电磁铁通电并工作,单刀双掷开关jk1切换到节点5,则油通路发生阻断,实现车辆的断油操作功能。若给设备下发通油指令,主控制器将pb12设为低电平,环路恢复通油,汽车可以正常使用。
[0141]
检测到车辆有异常发生时,系统需控制车辆鸣笛来进行警示,通过喇叭控制电路实现该功能。喇叭控制电路如图14所示,当需要控制喇叭鸣响时,主控制器的pb1端口为高电平,此时三极管q4导通,使其集电极为低电平,从而控制三极管q3导通,最终使喇叭的电源端口拉高,驱动喇叭鸣响;同理控制pb1为低电平时喇叭停止工作。
[0142]
综上所述,本发明实施例提供的一种汽车安防系统,结合蓝牙技术、传感器技术、定位技术、4g通信、改进aes加密等技术,实现车辆的异常检测与远程数据传输。系统优化了当前已有汽车安防系统的不足之处,能够多实现对车辆进行监控,操作便捷,且具有实时性好、可靠性高等优点。相比于目前常见的汽车安防系统,本系统增加了无线通信、实时导航定位等功能,当系统监测到车辆有异常(车门被非法打开、车辆非法启动、车辆供电遭到破
坏、强制拖车等)发生时能够以电话、短信的形式及时通知车主。而且系统中使用了高精度传感器,能实时采集设备的角速度、倾斜角度等信息,从而判定车辆的震动情况。同时为了更方便测量车辆重量,确保汽车能够安全驾驶,设计了一种可计算汽车重量的方法,利用汽车行驶过程中的参数对汽车重量进行计算。
[0143]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
技术特征:
1.aes密钥生成方法,其特征在于:采用下式生成第一轮密钥{w[4],w[5],w[6],w[7]}:采用下式生成第二轮密钥{w[8],w[9],w[10],w[11]}:采用下式生成第三轮密钥至第十轮密钥:其中,w[0],w[1],w[2],w[3]表示初始密钥的第1,2,3,4列密钥,w[i]表示第m轮密钥的第j+1列密钥,即i=4m+j,j=0,1,2,3,m=1,2,
…
,10;表示异或运算;t()表示复合函数,t()的函数运算是先将列密钥行移位,再用s盒完成字节替换,最后与对应的轮常量进行异或。2.根据权利要求1所述的aes密钥生成方法,其特征在于:生成第1轮密钥至第十轮密钥所用的轮常量分别为08000000、04000000、02000000、01000000、10000000、36000000、1b000000、80000000、40000000、20000000。3.根据权利要求1所述的aes密钥生成方法,其特征在于,在复合函数t()的函数运算中,将列密钥行移位具体是指:将列密钥的第一行数据保持不变,第二行数据循环左移一个字节,第三行数据循环左移两个字节,第四行数据循环左移三个字节。4.根据权利要求1所述的aes密钥生成方法,其特征在于,在复合函数t()的函数运算中,用s盒完成字节替换具体是指:以列密钥的高四位为行值索引、低四位为列值索引,从aes定义的s盒中取出对应行与列位置元素替换列密钥中的所有元素。5.改进aes的数据加密方法,其特征在于,包括步骤:s1、采用权利要求1~4任一项所述的aes密钥生成方法生成第一轮密钥{w[4],w[5],w[6],w[7]}、第二轮密钥{w[8],w[9],w[10],w[11]}直至第十轮密钥{w[40],w[41],w[42],w[43]};s2、将原始数据转化为一个4*4的状态矩阵;s3、将所述状态矩阵与初始密钥{w[0],w[1],w[2],w[3]}逐位异或;s4、依序执行第一轮操作、第二轮操作至第九轮操作,第一轮操作至第九轮操作中的每一轮操作包括依次执行使用s盒对异或结果进行字节替换、行移位操作、列混淆操作、与该轮密钥进行逐位异或;
s5、进入第十轮操作,对第九轮输出的异或结果依次执行使用s盒对异或结果进行字节替换、行移位操作、与第十轮密钥{w[40],w[41],w[42],w[43]}进行逐位异或;s6、将第十轮操作的输出数据作为原始数据的加密数据。6.汽车安防系统,其特征在于:包括安装于汽车上的安防车载硬件设备以及远程通信连接的服务器;所述安防车载硬件设备包括mcu及与所述mcu连接的喇叭控制电路、车门电压分压电路、acc电压分压电路、车辆输入电压分压电路、供电电路、油路控制电路、姿态传感器、定位模块、蓝牙模块和4g通信模块;所述车门电压分压电路用于与汽车的门电路连接,获取汽车的门电压信号进行分压后发送至所述mcu;所述acc电压分压电路用于与汽车的acc电路连接,获取汽车的acc电压信号进行分压后发送至所述mcu;所述车辆输入电压分压电路用于采集汽车输入电压信号进行分压后发送至所述mcu;所述供电电路用于获取汽车的输入电压并进行转换为所述mcu及所述mcu连接的需要供电的电路模块供电;所述姿态传感器用于获取汽车的姿态信息并发送至所述mcu;所述定位模块用于获取汽车的位置信息并发送至所述mcu;所述mcu用于根据所述车门电压分压电路输入的信号判断车门异常开启时,或者根据所述acc电压分压电路判断车辆异常启动时,或者根据所述车辆输入电压分压电路输入的信号判断车辆异常断电时,或者根据所述姿态传感器输入的信号判断车辆异常震动或倾斜时,或者根据所述定位模块输入的信号判断车辆定位信号异常时,控制所述喇叭控制电路进行鸣喇叭,并控制所述4g通信模块将车辆异常事件通过所述4g通信模块上报至所述服务器;所述服务器用于将相关的车辆异常事件发送至用户终端,当用户终端有下达油路切断指令时将该指令下传至所述mcu;所述mcu还用于在检测到车辆异常启动时或者接收到用户下达的油路切断指令时,通过所述油路控制电路控制汽车油路断开;在汽车上的用户终端连接所述蓝牙模块,向所述mcu发送设防或破防的状态控制指令;所述mcu收到设防的状态控制指令时开始接收数据判断车辆是否异常,收到破防的状态控制指令时停止接收数据。7.根据权利要求6所述的汽车安防系统,其特征在于:所述安防车载硬件设备还包括连接所述mcu的can收发器,所述can收发器用于连接汽车的can网络,以获取汽车的车速、发动机转速、发动机转矩发送至所述mcu;所述mcu还用于在破防的状态下根据所述姿态传感器输出的角度信息计算车辆坡度信息,并结合汽车的车速、发动机转速、发动机转矩计算汽车重量并将重量数据发送至所述服务器。8.根据权利要求7所述的汽车安防系统,其特征在于,所述mcu计算汽车重量的公式为:m=(3t
tq
πnη
t
/(25u
a
)-c
d
au
a2
/21.15)/(gf+gi+δdu/dt)其中,m是计算出的汽车重量,t
tq
是发动机转矩,n是发动机转速,η
t
是汽车传动系统的机械效率,u
a
是车速,c
d
是空气阻力系数,a是车辆的迎风面积,g是重力加速度,f是汽车的滚
动阻力系数,i为坡高与底长之比,i由汽车的坡度计算得到,δ是汽车旋转质量换算系数,du/dt是汽车加速度。9.根据权利要求7所述的汽车安防系统,其特征在于:所述服务器还用于通过所述4g通信模块将采用权利要求5所述的改进aes的数据加密方法生成的升级包下发至所述mcu用于远程在线升级。
技术总结
本发明涉及汽车安防技术领域,具体公开了一种AES密钥生成方法、改进AES的数据加密方法及汽车安防系统,该方法采用新的方式生成轮密钥,从第二轮开始各轮密钥的生成不仅仅与相邻的前一轮密钥有关。第二轮密钥由初始密钥与第一轮密钥共同计算而得,若该轮密钥被攻击破解,无法直接推算出第一轮密钥。第三轮开始密钥由其前面第二轮与第三轮密钥中的某两列计算而得,若某轮密钥被破解,无法推出其前轮密钥。因此,通过本方法扩展出的轮密钥安全性得以提高,采用该AES密钥生成方法的AES算法具有更高的安全性。该系统结合蓝牙技术、传感器技术、定位技术、4G通信、改进AES加密等技术,实现车辆的异常检测与远程数据传输,实时性好、可靠性高。靠性高。靠性高。
技术研发人员:刘晓明 熊东 张艳琪 程满 黄俊杰 张鹏飞 邓清文 向超 龚双林 徐绍东 朱伟 伏皓裕 袁龙龙
受保护的技术使用者:重庆明东新科技有限公司
技术研发日:2023.08.01
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
