一种实现蓝牙实体钥匙RKE控车功能的方法及装置与流程

文档序号:33204208发布日期:2023-02-07 23:26阅读:231来源:国知局
一种实现蓝牙实体钥匙RKE控车功能的方法及装置与流程
一种实现蓝牙实体钥匙rke控车功能的方法及装置
技术领域
1.本技术涉及车辆钥匙技术领域,具体涉及一种实现蓝牙实体钥匙rke控车功能的方法及装置。


背景技术:

2.近年来,随着智能化、新能源汽车的快速发展,汽车端逐步的摒弃了传统的射频实体钥匙,更换为手机数字钥匙。而较多用户,已经习惯于使用实体钥匙,或追求实体钥匙的品质感,处于此考虑整车厂往往会选配一把蓝牙实体钥匙。rke功能指remote keyless entry,一般的蓝牙rke需要在蓝牙建立连接后,通过gatt或l2cap层发送rke指令,此方案存在蓝牙未连接或者连接过程中,用户按下按键时,此次操作将无法响应的缺陷。
3.目前,公开号为cn114694280a的中国专利文献公开了名称为“蓝牙钥匙的连接方法、存储介质、电子设备及连接系统”的技术,该技术需要在蓝牙连接后才可可进行控车。


技术实现要素:

4.为解决上述技术问题,本技术的实施例提供了一种实现蓝牙实体钥匙rke控车功能的方法及装置、电子设备、计算机可读存储介质以及计算机程序产品,解决的技术问题:蓝牙未连接或者连接过程中,用户按下蓝牙实体钥匙的按键时,操作将无法响应。
5.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
6.根据本技术实施例的一个方面,提供了一种实现蓝牙实体钥匙rke控车功能的方法,包括:检测到按键按下时,判断是否满足滤波防抖时间,如果不满足滤波防抖时间,丢弃处理;
7.如果满足滤波防抖时间,指令发送计数器+1,workkey加密并签名rke指令;
8.广播并发送密文rke指令至蓝牙模块。
9.根据本技术实施例的一个方面,提供了一种实现蓝牙实体钥匙rke控车功能的方法,包括:
10.监听到蓝牙实体钥匙发送的广播包;
11.判断广播包是否在白名单及是否包含rke指令,若不满足条件,丢弃处理;
12.若满足条件,workkey验签rke指令;
13.验证是否通过,若验证比对失败,则丢弃处理;
14.若验证成功,wrokkey解密rke指令;
15.判断指令发送计数器是否大于指令接收计数器,如果是大于指令接收计数器,则指令接收计数器+1,同时将按键信息转化为对应的can报文指令发送给车身控制器。
16.根据本技术实施例的一个方面,提供了一种实现蓝牙实体钥匙rke控车功能的方法,包括:
17.蓝牙实体钥匙检测按键按下时,判断是否满足滤波防抖时间,如果不满足滤波防
抖时间,丢弃处理;
18.如果满足滤波防抖时间,指令发送计数器+1,workkey加密并签名rke指令;
19.广播并发送密文rke指令至蓝牙模块;
20.蓝牙监听到蓝牙实体钥匙发送的广播包;
21.判断广播包是否在白名单及是否包含rke指令,若不满足条件,丢弃处理;
22.若满足条件,workkey验签rke指令;
23.验证是否通过,若验证比对失败,则丢弃处理;
24.若验证成功,workkey解密rke指令;
25.判断指令发送计数器是否大于指令接收计数器,如果是大于指令接收计数器,则指令接收计数器+1,同时将按键信息转化为对应的can报文指令发送给车身控制器。
26.在本技术的实施例所提供的技术方案中,包括:所述滤波防抖时间为30、40或50ms。
27.在本技术的实施例所提供的技术方案中,如果满足滤波防抖时间,指令发送计数器+1,workkey加密并签名rke指令,广播并发送密文rke指令至蓝牙模块,包括:指令发送计数器txcounter+1,在使用workkey加密按键信息keystsinfo、指令发送计数器txcounter得到rke指令密文rkeinfo*,再使用workkey对rke指令密文进行签名;使用的相关算法为:rkeinfo*=aes_cbc(workkey,blephy_tuid,keystsinfo||txcounter);mac=aes_cmac(rkeinfo*),计算完成后在37、38、39通多多次广播发送。
28.在本技术的实施例所提供的技术方案中,若满足条件,workkey验签rke指令,包括:蓝牙模块使用workkey验签接收广播包中的mac,验签算法为mac=aes_cmac(rkeinfo*)。
29.在本技术的实施例所提供的技术方案中,所述广播包包括实体钥匙设备名称、rke指令,其中,rke指令密文和mac的总长度满足ble广播要求31字节。
30.根据本技术实施例的一个方面,提供了一种实现蓝牙实体钥匙rke控车功能的装置,包括:
31.第一判断模块,用于牙实体钥匙检测按键按下时,判断是否满足滤波防抖时间,如果不满足滤波防抖时间,丢弃处理;如果满足滤波防抖时间,指令发送计数器+1,workkey加密并签名rke指令;
32.广播模块,用于广播并发送密文rke指令至蓝牙模块;
33.监听模块,用于蓝牙监听到蓝牙实体钥匙发送的广播包;
34.第二判断模块,用于判断广播包是否在白名单及是否包含rke指令,若不满足条件,丢弃处理;若满足条件,workkey验签rke指令;
35.第三判断模块,用于判断验签rke指令是否通过,若验证比对失败,则丢弃处理;若验证成功,workkey解密rke指令;
36.第四判断模块,用于判断指令发送计数器是否大于指令接收计数器,如果是大于指令接收计数器,则指令接收计数器+1,同时将按键信息转化为对应的can报文指令发送给车身控制器。
37.根据本技术实施例的一个方面,提供了一种电子设备,包括:
38.一个或多个处理器;
39.存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上述的实现蓝牙实体钥匙rke控车功能的方法。
40.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述的实现蓝牙实体钥匙rke控车功能的方法。
41.根据本技术实施例的一个方面,提供了一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现上述的实现蓝牙实体钥匙rke控车功能的方法。
42.在本技术的一些实施例所提供的技术方案中,安全地解决在蓝牙未连接或者连接过程中rke功能失效问题。
附图说明
43.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
44.图1是本技术的一示例性实施例示出的系统框图;
45.图2是本技术的一示例性实施例示出的rke指令下发流程图;
46.图3是本技术的一示例性实施例示出的rke广播结构指令示意图。
具体实施方式
47.这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
48.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
49.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
50.蓝牙实体钥匙负责检测按键是否按下,并做滤波防抖处理,当检测到按键按下后,先对rke指令做加密处理,再做mac算法,再按可连接的非定向广播通道将rke指令信息发出。优选得加密算法使用aes_cbc模式,mac算法使用aes_cmac,密钥长度使用128bit,加密密钥、初始化向量使用学习阶段存储的根密钥workkey、钥匙唯一编号blephy_tuid。
51.蓝牙模块负责监听广播包,当监听到内部存储白名单内的mac地址的蓝牙广播包后,当存在rke指令时,解密、验证rke指令,加密密钥、初始化向量使用白名单的根密钥workkey、钥匙唯一编号blephy_tuid,最后再通过can发送控车指令给车身控制器。
52.优选地广播包需要在37、38、39通道多次广播发送,如3、4次等,以防蓝牙模块没有
监听到广播包。为达到放重放目的,蓝牙实体钥匙发送的rke指令中包含按键信息、指令发送计数器等,蓝牙模块端需要比对指令接收计数器与指令发送计数器的大小。
53.车身控制器负责接收蓝牙模块的can指令,完成解、闭锁等控制功能。
54.图1是本技术的一示例性实施例示出的系统框图。
55.图2是本技术的一示例性实施例示出的rke指令下发流程图。
56.参照图1、图2所示,本实施例提供了一种实现蓝牙实体钥匙rke控车功能的方法,包括:检测到按键按下时,判断是否满足滤波防抖时间,如果不满足滤波防抖时间,丢弃处理;如果满足滤波防抖时间,指令发送计数器+1,workkey加密并签名rke指令;广播并发送密文rke指令至蓝牙模块。
57.本实施例还提供了一种实现蓝牙实体钥匙rke控车功能的方法,包括:监听到蓝牙实体钥匙发送的广播包;判断广播包是否在白名单及是否包含rke指令,若不满足条件,丢弃处理;若满足条件,workkey验签rke指令;验证是否通过,若验证比对失败,则丢弃处理;若验证成功,wrokkey解密rke指令;判断指令发送计数器是否大于指令接收计数器,如果是大于指令接收计数器,则指令接收计数器+1,同时将按键信息转化为对应的can报文指令发送给车身控制器。
58.本实施例还提供了一种实现蓝牙实体钥匙rke控车功能的方法,包括:蓝牙实体钥匙检测按键按下时,判断是否满足滤波防抖时间,如果不满足滤波防抖时间,丢弃处理;如果满足滤波防抖时间,指令发送计数器+1,workkey加密并签名rke指令;广播并发送密文rke指令至蓝牙模块;蓝牙监听到蓝牙实体钥匙发送的广播包;判断广播包是否在白名单及是否包含rke指令,若不满足条件,丢弃处理;若满足条件,workkey验签rke指令;验证是否通过,若验证比对失败,则丢弃处理;
59.若验证成功,workkey解密rke指令;判断指令发送计数器是否大于指令接收计数器,如果是大于指令接收计数器,则指令接收计数器+1,同时将按键信息转化为对应的can报文指令发送给车身控制器。
60.在本实施例中,包括:所述滤波防抖时间为30、40或50ms。
61.在本实施例中,如果满足滤波防抖时间,指令发送计数器+1,workkey加密并签名rke指令,广播并发送密文rke指令至蓝牙模块,包括:指令发送计数器txcounter+1,在使用workkey加密按键信息keystsinfo、指令发送计数器txcounter得到rke指令密文rkeinfo*,再使用workkey对rke指令密文进行签名;使用的相关算法为:rkeinfo*=aes_cbc(workkey,blephy_tuid,keystsinfo||txcounter);mac=aes_cmac(rkeinfo*),计算完成后在37、38、39通多多次广播发送。
62.在本实施例中,若满足条件,workkey验签rke指令,包括:蓝牙模块使用workkey验签接收广播包中的mac,验签算法为mac=aes_cmac(rkeinfo*)。
63.在本实施例中,所述广播包包括实体钥匙设备名称、rke指令,其中,rke指令密文和mac的总长度满足ble广播要求31字节。
64.进一步地,如图1所示,蓝牙实体钥匙s101:负责检测按键消息、安全发送rke广播包,与蓝牙模块通过ble进行通讯;s102蓝牙模块:负责监听蓝牙实体钥匙发送的rke广播包,解析、验证、转发rke指令;s103车身控制器,通过can与蓝牙模块连接,执行蓝牙模块的can指令,完成解、闭锁等控制功能。
65.如图2所示,本技术实施例的方法包括:s201、检测按键按下,s202、判断是否满足滤波防抖时间,如果是,则进行s203,s203、指令发送计数器+1,workkey加密rke指令,workkey签名rke指令,s204、广播密文rke指令,s205、蓝牙监听到广播包,s206、判断广播包是否在白名单,是否包含rke指令,如果是,则s207、workkey验签rke指令,s208、判断验签是否通过,如果验签通过,则进行下一步,s209、workey解密rke指令,s210、判断指令发送计数器是否大于指令接收计数器,s211、指令接收计数器+1,s212、发送can报文指令至车身控制器,s213、车身控制器执行can报文指令。
66.具体地,蓝牙实体钥匙检测到按键按下时,进行滤波防抖处理,滤波时间一般的限定为30、40、50ms等,若不满足滤波条件,则丢弃处理;若满足滤波条件进入下一步;蓝牙实体钥匙将指令发送计数器(txcounter)+1,在使用workkey加密按键信息(keystsinfo)、指令发送计数器(txcounter)的得到rke指令密文(rkeinfo*),再使用workkey对rke指令密文进行签名。使用的相关算法为:rkeinfo*=aes_cbc(workkey,blephy_tuid,keystsinfo||txcounter);mac=aes_cmac(rkeinfo*)。计算完成后在37、38、39通道多次广播发送,如3、4次等;蓝牙模块监听到广播包后,判断广播包是否在钥匙管理白名单,指令是否包含rke指令,若不满足条件,则丢弃处理;若满足条件,则进入下一步;蓝牙模块使用workkey验签接收广播包中的mac,若验证比对失败,则丢弃处理;若验签成功,则进入下一步,其中,验签算法为mac=aes_cmac(rkeinfo*);蓝牙模块使用workkey解密接收广播包中的rke指令密文(rkeinfo*),按键信息(keystsinfo)、指令发送计数器(txcounter),并将指令发送计数器(txcounter)与指令接收计数器(rxcounter)做比对,若txcounter《=rxcounter,则丢弃处理;若txcounter》rxcounter,则对rxcounter进行+1处理,同时将按键信息转为对应的can指令发送给车身控制器;车身控制器接收到对应的can报文指令后,进行执行。
67.图3是本技术的一示例性实施例示出的rke广播结构指令示意图。
68.参照图3所示,触发rke指令后,广播包内包含实体钥匙设备名称、rke指令,其中指令密文和mac,其总长度满足ble规范广播要求31字节。如示例设备名称总长度取7字节、rke指令24字节(指令密文16字节、mac 6字节)。
69.本发明核心解决在蓝牙未连接或者连接过程中,触发rke操作时,通过ble广播信道去发送rke指令,同时需要考虑指令的安全性、合法性、防重放。
70.本技术的实施例还提供了一种实现蓝牙实体钥匙rke控车功能的装置,包括:
71.第一判断模块,用于牙实体钥匙检测按键按下时,判断是否满足滤波防抖时间,如果不满足滤波防抖时间,丢弃处理;如果满足滤波防抖时间,指令发送计数器+1,workkey加密并签名rke指令;
72.广播模块,用于广播并发送密文rke指令至蓝牙模块;
73.监听模块,用于蓝牙监听到蓝牙实体钥匙发送的广播包;
74.第二判断模块,用于判断广播包是否在白名单及是否包含rke指令,若不满足条件,丢弃处理;若满足条件,workkey验签rke指令;
75.第三判断模块,用于判断验签rke指令是否通过,若验证比对失败,则丢弃处理;若验证成功,workkey解密rke指令;
76.第四判断模块,用于判断指令发送计数器是否大于指令接收计数器,如果是大于指令接收计数器,则指令接收计数器+1,同时将按键信息转化为对应的can报文指令发送给
车身控制器。
77.需要说明的是,上述实施例所提供的实现蓝牙实体钥匙rke控车功能的装置与上述实施例所提供的实现蓝牙实体钥匙rke控车功能的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的实现蓝牙实体钥匙rke控车功能的装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
78.本技术的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的实现蓝牙实体钥匙rke控车功能的方法。
79.计算机系统包括中央处理单元(central processing unit,cpu),其可以根据存储在只读存储器(read-only memory,rom)中的程序或者从储存部分加载到随机访问存储器(random access memory,ram)中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在ram中,还存储有系统操作所需的各种程序和数据。cpu、rom以及ram通过总线彼此相连。输入/输出(input/output,i/o)接口也连接至总线。
80.以下部件连接至i/o接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分;包括硬盘等的储存部分;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至i/o接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入储存部分。
81.特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(cpu)执行时,执行本技术的系统中限定的各种功能。
82.需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算
机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
83.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
84.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
85.本技术的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的实现蓝牙实体钥匙rke控车功能的方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
86.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
87.本技术的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的实现蓝牙实体钥匙rke控车功能的方法。
88.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本技术实施方式的方法。
89.本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。
90.应当理解的是,本上述内容,仅为本技术的较佳示例性实施例,并非用于限制本技术的实施方案,本领域普通技术人员根据本技术的主要构思和精神,可以十分方便地进行相应的变通或修改,故本技术的保护范围应以权利要求书所要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1