一种车载遥控系统及防御相同载波攻击的方法与流程

文档序号:26142901发布日期:2021-08-03 14:28阅读:153来源:国知局
一种车载遥控系统及防御相同载波攻击的方法与流程

本发明涉及车载遥控门禁系统技术领域,具体涉及一种车载遥控系统及防御相同载波攻击的方法。



背景技术:

rke(remotekeylessentry,车载遥控系统),又称遥控车门开关系统、遥控门禁钥匙系统,主要由车载通讯及控制系统、接收机和用户随身携带的发射器,即无线遥控车门钥匙组成。rke系统允许用户使用遥控钥匙上的按键来控制车门解锁、闭锁、升窗、降窗或者实现其他控制功能。当用户携带rke钥匙进入车辆接收范围时,钥匙按键发射无线信号,车辆认证通过后车辆便进行车门的解锁等操作。车辆配备rke系统能够免去用户使用车辆时找钥匙、操作钥匙的繁琐操作,提高车辆使用的便利性。

配备rke系统的车辆虽然给用户带来了便利,但是也容易变成盗窃者“中继攻击”的对象。目前rke钥匙编码简单,发射数据信息仅包含按键特征,配备了此类rke钥匙的车辆,极易受到“中继攻击”,盗窃者使用便携式中继站靠近目标车辆,一旦车主使用rke钥匙遥控解锁车辆,便携式中继站便截获无线高频信号,待车主远离车辆后,中继站使用相同功率发射复制的无线高频信号便可以解锁目标车辆,达到盗窃车辆的目的,极大地降低了车辆使用的安全性。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种车载遥控系统及防御相同载波攻击的方法,能够有效防御同载波攻击,保证车辆和rke钥匙的使用安全。

为达到以上目的,本发明提供的一种车载遥控系统,包括:

rke钥匙,其用于发射高频信号,且所述高频信号中包含数据帧编码信息;

接收天线,其用于接收rke钥匙发射的高频信号,并将接收的高频信号传递给接收机;

接收机,其用于接收接收天线传递的高频信号,并对高频信号进行过滤,得到过滤后的高频信号并发送至mcu;

mcu,其用于对高频信号中的数据帧编码信息进行解密并校验,以及实现钥匙自学习功能,以及基于高频信号中数据帧编码信息的键值对应的按键信息,得到对应的遥控指令;

执行器,其用于执行遥控指令;

其中,所述数据帧编码信息包括同步码、滚动码、键值、钥匙id、诊断码、第一掩码和第二掩码,所述滚动码用于记录rke钥匙上各按键的累计按键次数,所述键值用于记录rke钥匙上被按下按键的按键码。

在上述技术方案的基础上,

所述同步码用于记录rke钥匙类型、rke钥匙编号和rke钥匙生产批次;

所述钥匙id为rke钥匙的唯一标志识别符;

所述诊断码用于记录rke钥匙的故障诊断代码;

所述第一掩码和第二掩码为数据帧编码信息的明文掩码,用于数据帧编码信息的解密。

在上述技术方案的基础上,

还包括can收发器,其用于控制mcu和执行器之间的通信;

所述can收发器和执行器之间通过can总线或lin总线进行数据传输;

所述接收机基于spi将过滤后的高频信号传输给mcu。

在上述技术方案的基础上,

所述rke钥匙基于按键信息生成数据帧编码信息,对数据帧编码信息加密后得到数据帧,并对数据帧添加数据帧头和先导符后生成数据包,以特定频率向周围发射含有数据包的高频信号;

所述先导符用于唤醒接收机,以使接收机接收和唤醒高频信号;

所述数据帧头用于记载数据帧的位数,以使接收机接收高频信号时校验高频信号的完整性。

在上述技术方案的基础上,

所述接收天线接收到rke钥匙发射的高频信号后,通过高频信号中数据包的先导符唤醒接收机,以使接收机接收高频信号;

所述接收机接收到高频信号后,对高频信号进行过滤,得到过滤后的高频信号,并将过滤后的高频信号缓存于接收机的ram中,并通知mcu准备进行数据传输,然后将缓存于ram中高频信号发送给mcu。

本发明提供的一种防御相同载波攻击的方法,基于上述所述车载遥控系统实现,具体包括以下步骤:

mcu对所接收的高频信号进行字节校验,并当当前接收高频信号与最近接收的预设数目的高频信号不相同时,将当前高频信号存储至mcu中;

对高频信号中的数据帧编码信息进行解密,并基于数据帧编码信息的长度得到rke钥匙的状态:

当rke钥匙的状态为自学习状态时,基于数据帧编码信息进行rke钥匙的自学习,并待自学习完成后,将数据帧编码信息中的滚动码和钥匙id存储于mcu中;

当rke钥匙的状态为正常工作状态时,进行数据帧编码信息中滚动码和钥匙id的校验,并当mcu中存在相同的滚动码和钥匙id时,基于数据帧编码信息中键值对应的按键信息,得到对应的遥控指令,执行器执行遥控指令。

在上述技术方案的基础上,所述mcu对所接收的高频信号进行字节校验之前,还包括:

mcu判断所接收到的信号是否为高频信息,若是,则mcu对所接收的高频信号进行字节校验,若否,则结束。

在上述技术方案的基础上,所述mcu对所接收的高频信号进行字节校验,具体为:

判断当前接收的高频信号与最近接收的预设数目的高频信号是否相同,若是,则记录当前高频信号为相同的高频信号,然后结束,若否,则将当前高频信号存储至mcu中,所述mcu的ram中创建有用于存储高频信号的空间。

在上述技术方案的基础上,所述mcu的ram中创建的用于存储高频信号的空间,用于存储预设个数的高频信号,当mcu的ram中用于存储高频信号的空间存储的高频信号的个数超过预设个数时,则最新存储的高频信号覆盖最开始存储的高频信号。

在上述技术方案的基础上,所述进行数据帧编码信息中滚动码和钥匙id的校验,具体包括:

读取当前数据帧编码信息的滚动码,判断mcu中是否存储有与读取出的滚动码相同的滚动码:

若是,则读取当前数据帧编码信息的钥匙id,判断mcu中是否存储有与读取出的钥匙id相同的钥匙id,若否,则结束,若是,则基于数据帧编码信息中键值对应的按键信息,得到对应的遥控指令,执行器执行遥控指令;

若否,则结束。

与现有技术相比,本发明的优点在于:通过独特的数据帧编码信息设计,当且仅当数据帧编码信息中的滚动码和钥匙id校验通过后,才进行遥控指令的执行,有效防御同载波攻击,保证车辆和rke钥匙的使用安全。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一种车载遥控系统的结构示意图;

图2为本发明实施例中rke钥匙的示意图;

图3为本发明实施例中一种防御相同载波攻击的方法的流程图;

图4本发明实施例中一种防御相同载波攻击的方法的具体实施流程图。

具体实施方式

本发明实施例提供一种车载遥控系统,以及一种防御相同载波攻击的方法,通过独特的数据帧编码信息设计,当且仅当数据帧编码信息中的滚动码和钥匙id校验通过后,才进行遥控指令的执行,有效防御同载波攻击,保证车辆和rke钥匙的使用安全。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

参见图1所示,本发明实施例提供的一种车载遥控系统,包括rke钥匙、接收天线、接收机、mcu(microcontrollerunit,微控制单元)、执行器和can(controllerareanetwork,控制器局域网络)收发器。

rke钥匙用于发射高频信号,且所述高频信号中包含数据帧编码信息,数据帧编码信息包括同步码、滚动码、键值、钥匙id、诊断码、第一掩码和第二掩码;接收天线用于接收rke钥匙发射的高频信号,并将接收的高频信号传递给接收机;接收机用于接收接收天线传递的高频信号,并对高频信号进行过滤,得到过滤后的高频信号并发送至mcu;mcu用于对高频信号中的数据帧编码信息进行解密并校验,以及实现钥匙自学习功能,以及基于高频信号中数据帧编码信息的键值对应的按键信息,得到对应的遥控指令,例如,键值为1,则对应的按键信息为rke钥匙上的lock按键被短按,此时得到的遥控指令为进行车辆闭锁;执行器用于执行遥控指令。

can收发器用于控制mcu和执行器之间的通信。can收发器和执行器之间通过can总线或lin(localinterconnectnetwork,局域互联网络)总线进行数据传输。接收机基于spi(serialperipheralinterface,串行外设接口)将过滤后的高频信号传输给mcu。

对于本发明中的同步码,同步码用于记录rke钥匙类型、rke钥匙编号和rke钥匙生产批次。同步码占用4个字节。同步码与钥匙id是对应关系。

对于本发明中的滚动码,滚动码用于记录rke钥匙上各按键的累计按键次数,滚动码占用4个字节,最大计数值为0xffffffff。对于rke钥匙上的单个按键,按键每被按下一次,则该按键的滚动码加1。更换电池不清零滚动码,保持上一次计数值。每一个rke钥匙的滚动码,出厂时初始化为0,每一次按键后滚动码进行累加。

对于本发明中的键值,键值用于记录rke钥匙上被按下按键的按键码。参见图2所示,本发明实施例中的rke钥匙包含3个按键,分别为lock、menue和unlock。lock按键的按键码默认为1,menue按键的按键码默认为2,unlock按键的按键码默认为3,进行功能切换后,lock按键的按键码为4,menue按键的按键码为5,unlock按键的按键码为6,按键码占用1个字节。

对于lock按键,短按时默认为闭锁功能,长按时默认为升窗功能,进行功能切换后,lock按键可以配置为天窗开启功能。

对于menue按键,其用于进行lock按键和unlock按键的功能切换,当menue按键被按下后,在有效的时间2s内,lock按键和unlock按键为切换后的功能,当有效的时间结束后,lock按键和unlock按键恢复默认功能。

对于unlock按键,短按时默认为解锁功能,长按时默认为降窗功能,进行功能切换后,unlock按键可以配置为天窗关闭功能。

对于本发明中的钥匙id,钥匙id为rke钥匙的唯一标志识别符,同一厂家不同rke钥匙的钥匙id不同,不同厂家的钥匙的钥匙id不同。钥匙id与同步码为对应关系,钥匙id占用4个字节。

对于本发明中的诊断码,诊断码用于记录rke钥匙的故障诊断代码,不同故障诊断代码对应不同的故障,故障包括rke钥匙电量低故障、电路故障、工作故障和其它故障。诊断码占用1个字节,划分为4个信号区域,每一种故障占用2位bit。

对于rke钥匙电量低故障,rke钥匙每一次按键时都会检测电池剩余电量,并更新存储在rke钥匙中的电池电量计数值,当电池电量计数值大于10时,rke钥匙电量低故障的诊断码的位域为二进制01,当电池电量计数值小于或者等于10时,rke钥匙电量低故障的诊断码的位域为二进制00。对于电路故障,在诊断码的字节中占用2位。

对于本发明中的第一掩码和第二掩码,第一掩码和第二掩码为数据帧编码信息的明文掩码,用于数据帧编码信息的解密。第一掩码和第二掩码均为固定数据,第一掩码占用1字节,第二掩码占用1字节。

本发明实施例中,rke钥匙基于按键信息生成数据帧编码信息,对数据帧编码信息加密后得到数据帧,并对数据帧添加数据帧头和先导符后生成数据包,以特定频率向周围发射含有数据包的高频信号;先导符用于唤醒接收机,以使接收机接收和唤醒高频信号;数据帧头用于记载数据帧的位数,以使接收机接收高频信号时校验高频信号的完整性。

本发明实施例中,接收天线接收到rke钥匙发射的高频信号后,通过高频信号中数据包的先导符唤醒接收机,以使接收机接收高频信号。接收机接收到高频信号后,对高频信号进行过滤,得到过滤后的高频信号,并将过滤后的高频信号缓存于接收机的ram中,并通知mcu准备进行数据传输,然后将缓存于ram中高频信号发送给mcu。

本发明的车载遥控系统上电后,mcu内核初始化后,通过spi通信对接收机进行数据编码设置、频点设置、过滤设置、接收机工作方式等设置,接收机设置完成后,进入正常工作模式。用户处于车辆附近时,按键rke钥匙,rke钥匙经过策略计算,得到数据帧编码信息,数据帧编码信息经过加密处理后添加数据帧头和先导符,形成数据包,然后rke钥匙以特定频率向周围发射含有数据包的高频信号,接收天线接收到此信号后,通过先导符唤醒接收机,接收机收到高频信号后,根据数据帧头接收此信号,当接收机完全接收此信号后,将高频信号缓存于接收机的ram(randomaccessmemory,随机存取存储器)中,并通知mcu准备进行数据传输,mcu通过spi通信与接收机进行数据交换,获取缓存于接收机中的高频信号,mcu获取高频信号后,即启动高频信号处理任务。

参见图3所示,本发明实施例提供的一种防御相同载波攻击的方法,基于上述所述车载遥控系统实现,具体包括以下步骤:

s1:mcu对所接收的高频信号进行字节校验,并当当前接收高频信号与最近接收的预设数目的高频信号不相同时,将当前高频信号存储至mcu中;

s2:对高频信号中的数据帧编码信息进行解密,并基于数据帧编码信息的长度得到rke钥匙的状态,当rke钥匙的状态为自学习状态时,转到s3,当rke钥匙的状态为正常工作状态时,转到s4;

s3:基于数据帧编码信息进行rke钥匙的自学习,并待自学习完成后,将数据帧编码信息中的滚动码和钥匙id存储于mcu中;

s4:进行数据帧编码信息中滚动码和钥匙id的校验,并当mcu中存在相同的滚动码和钥匙id时,基于数据帧编码信息中键值对应的按键信息,得到对应的遥控指令,执行器执行遥控指令。

本发明实施例中,mcu对所接收的高频信号进行字节校验之前,还包括:mcu判断所接收到的信号是否为高频信息,若是,则mcu对所接收的高频信号进行字节校验,若否,则结束。

本发明实施例中,mcu对所接收的高频信号进行字节校验,具体为:判断当前接收的高频信号与最近接收的预设数目的高频信号是否相同,若是,则记录当前高频信号为相同的高频信号,然后结束,若否,则将当前高频信号存储至mcu中,所述mcu的ram中创建有用于存储高频信号的空间。

mcu的ram中创建的用于存储高频信号的空间,用于存储预设个数的高频信号,当mcu的ram中用于存储高频信号的空间存储的高频信号的个数超过预设个数时,则最新存储的高频信号覆盖最开始存储的高频信号。

本发明实施例中,进行数据帧编码信息中滚动码和钥匙id的校验,具体包括:

读取当前数据帧编码信息的滚动码,判断mcu中是否存储有与读取出的滚动码相同的滚动码:

若是,则读取当前数据帧编码信息的钥匙id,判断mcu中是否存储有与读取出的钥匙id相同的钥匙id,若否,则结束,若是,则基于数据帧编码信息中键值对应的按键信息,得到对应的遥控指令,执行器执行遥控指令;

若否,则结束。

以下结合图4,对本发明实施例的防御相同载波攻击的方法进行具体说明。

s101:启动高频信号处理任务,转到s102。接收机和mcu间的数据传输完成后,即启动高频信号处理任务。

s102:进行内容校验,判断是否为高频信号,即判断接收到的信号是否为高频信息,若是,则转到s103,若否,则转到s119;

s103:进行高频信号是否相同的校验,即对高频信号进行字节校验,当当前接收高频信号与最近接收的预设数目的高频信号不相同时,转到s104,当前接收高频信号与最近接收的预设数目的高频信号相同时,转到s118。例如,可以将当当前接收高频信号与最近接收的5个高频信号进行字节对比,判断是否相同,如果当前接收高频信号与最近接收的5个高频信号中任一高频信号相同,则转到s118。

s104:进行高频信号循环记录,转到s105。即将当前高频信号存储至mcu中,在实际的应用中,可以在mcu的ram中开辟100字节,用于循环存储不相同的高频信号,最多可以记录5个不同的高频信号,当高频信号的个数超过5个时,最新存储的高频信号覆盖最开始存储的高频信号。

s105:根据数据帧编码信息长度,得到rke钥匙的工作状态,转到s106。

s106:对数据帧编码信息进行解密,转到s107;

s107:判断工作状态,当为自学习状态时,转到s108,当为正常工作状态时,转到s110。根据状态将数据帧编码信息传输到不同的功能区。

s108:进行自学习,转到s115。对于rke钥匙的自学习过程,本发明不进行赘述,待自学习完成后,转到s115。

s110:读取数据帧编码信息中的滚动码,转到s111;

s111:进行滚动码检验,判断是否存在相同,当mcu中不存储有与读取出的滚动码相同的滚动码时,转到s117,当mcu中存储有与读取出的滚动码相同的滚动码时,转到s112;例如,将读取的滚动码与mcu的非易失性存储器中存储的4个滚动码进行比对,如果读取的滚动码与这4个滚动码均不相同,则转到s117,当存在相同时,则转到s112。

s112:进行钥匙id,判断是否存在相同,当mcu中不存储有与读取出的钥匙id相同的钥匙id时,转到s116,当mcu中存储有与读取出的钥匙id相同的钥匙id时,转到s113;

s113:进入按键功能区,基于数据帧编码信息中键值对应的按键信息,得到对应的遥控指令,转到s114。按键功能区主要包括钥匙按键识别、短按功能、长按功能和指令输出。

s114:执行器执行遥控指令,结束。

s115:将数据帧编码信息中的滚动码和钥匙id存储于mcu中,然后结束。在实际的应用过程中,可以在mcu的非易失性存储器中开辟16字节区域,并分成4部分,每部分占4个字节,每个部分存储一把rke钥匙的滚动码。mcu可以周期性的将rke钥匙的滚动码写入到开辟的区域中,由于同一把rke钥匙每一次按键后滚动码会累加,所以mcu记录的同一把rke钥匙的滚动码数值只会增加,且在本发明中,车载遥控系统下电后不会清除在非易失性存储器中存储的滚动码。

s116:说明当前rke钥匙为非配对过rke钥匙发射出来的,mcu直接退出rke钥匙数据处理任务,结束。

s117:滚动码校验失败,mcu直接退出rke钥匙数据处理任务,结束。

s118:进行相同高频信号累加,即记录当前高频信号为相同的高频信号,然后结束;

s119:表明接收的信号为非高频信息,然后结束。

上述步骤s104、s110、s111和s115为防御相同载波攻击的核心步骤,步骤s604用于过滤最近的相同载波,如果有相同载波则记录这一帧载波并自动退出高频信号处理任务。s115是将rke钥匙滚动码存储在非易失性存储器中,根据滚动码递增特性,对应rke钥匙的滚动码可以周期擦写和覆盖。步骤s110用于从非易失性存储器中读取rke钥匙的滚动码。步骤s611是滚动码校验,只要是与车辆配对成功的rke钥匙的滚动码都能校验,因为中继站在目标车辆附近复制的源载波也会被车载遥控系统记录,只要本发明车载遥控系统再次收到中继站发射出来相同载波就可以及时过滤载波,使目标车辆不受到中继攻击。

本发明实施例的防御相同载波攻击的方法,通过独特的数据帧编码信息设计,当且仅当数据帧编码信息中的滚动码和钥匙id校验通过后,才进行遥控指令的执行,有效防御同载波攻击,保证车辆和rke钥匙的使用安全。

本发明实施例还提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述的便利的存储方法的步骤。具体实现以下步骤:

对mcu接收的高频信号进行字节校验,并当当前接收高频信号与最近接收的预设数目的高频信号不相同时,将当前高频信号存储至mcu中;

对高频信号中的数据帧编码信息进行解密,并基于数据帧编码信息的长度得到rke钥匙的状态:

当rke钥匙的状态为自学习状态时,基于数据帧编码信息进行rke钥匙的自学习,并待自学习完成后,将数据帧编码信息中的滚动码和钥匙id存储于mcu中;

当rke钥匙的状态为正常工作状态时,进行数据帧编码信息中滚动码和钥匙id的校验,并当mcu中存在相同的滚动码和钥匙id时,基于数据帧编码信息中键值对应的按键信息,得到对应的遥控指令,驱使执行器执行遥控指令。

本发明实施例中,存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1