掌桥专利:专业的专利平台
掌桥专利
首页

一种汽车蓝牙密钥安全管理方法、系统、设备和介质

文献发布时间:2023-06-19 19:28:50


一种汽车蓝牙密钥安全管理方法、系统、设备和介质

技术领域

本申请涉及智能汽车领域,尤其涉及一种汽车蓝牙密钥安全管理方法、系统、设备和介质。

背景技术

随着汽车向网联化、智能化快速发展,蓝牙钥匙成为了现代汽车的标配,汽车蓝牙钥匙是车辆和手机APP进行互联,手机APP通过蓝牙模块与车辆建立连接,进行控车操作,比如远程开启空调、解闭车门、启动发动机等。

在当下使用蓝牙钥匙的场景下,为了保证用户、车辆的身份合法性,需要进行安全认证,但是当下缺乏对用于安全认证的密钥的生成及管理方法,使得用户和车辆可能受到安全攻击,造成信息安全泄露,严重的情况下会危及用户的生命和财产安全。

发明内容

鉴于以上现有技术存在的问题,本申请提出一种汽车蓝牙密钥安全管理方法、系统、设备和介质,主要解决现有现有蓝牙钥匙进行车辆控制存在安全隐患,难以保证数据传输安全性的问题。

为了实现上述目的及其他目的,本申请采用的技术方案如下。

本申请提供一种汽车蓝牙密钥安全管理方法,包括:

响应于用户终端的请求操作生成蓝牙钥匙启用请求并输出至云端;

根据所述蓝牙钥匙启用请求获取云端对应车辆的数字钥匙,其中所述数字钥匙由云端根据预存储的车辆主密钥生成,所述车辆主密钥与车辆信息关联;

根据所述数字钥匙生成会话密钥以与车端进行加密会话。

在本申请一实施例中,响应于用户终端的请求操作生成蓝牙钥匙启用请求,包括:

通过所述用户终端的交互界面采集钥匙信息,其中所述钥匙信息包括车辆信息、钥匙有效时间以及钥匙类型;

根据所述钥匙信息生成所述蓝牙钥匙启用请求。

在本申请一实施例中,所述数字钥匙由云端根据预存储的车辆主密钥生成,包括:

获取所述蓝牙钥匙启用请求中的车辆信息;

根据所述所述蓝牙钥匙启用请求中的车辆信息调用关联的车辆主密钥;

根据所述蓝牙钥匙启用请求中的钥匙信息生成钥匙摘要;

根据所述钥匙摘要和所述车辆主密钥生成所述数字钥匙。

在本申请一实施例中,根据所述钥匙摘要和所述车辆主密钥生成所述数字钥匙之后,还包括:

根据所述钥匙摘要和所述车辆主密钥生成钥匙签名;

将所述钥匙签名填充到所述钥匙信息中,并和所述数字钥匙同步输出至所述用户终端。

在本申请一实施例中,根据所述数字钥匙生成会话密钥,还包括:

根据所述数字密钥和对应的钥匙信息进行车端认证;

认证通过后,建立通信通道以进行数据传输,所述通信通道中传输的数据由所述会话密钥进行加密。

在本申请一实施例中,根据所述数字密钥和对应的钥匙信息进行车端认证,包括:

获取车端生成的第一随机数,根据所述数字钥匙和所述第一随机数生成会话密钥,并通过所述会话密钥对所述第一随机数进行加密生成第一密文,将所述第一密文与所述钥匙信息输出至所述车端,以使所述车端根据所述钥匙信息和所述第一密文进行一次认证;

根据车端反馈的第二密文进行解密验证,验证通过后根据所述用户终端的会话密钥生成第三密文以输出至车端,其中所述第二密文由车端在所述一次验证通过后根据预设加密算法对所述用户终端的第二随机数进行加密得到;

响应于车端反馈的验证通过信息后建立所述通信通道,其中所述验证通过消息由所述车端对所述第三密文进行解密成功后生成。

在本申请一实施例中,所述车端根据所述钥匙信息和所述第一密文进行一次认证,包括:

根据车端预存储的车辆主密钥和所述钥匙信息生成签名值;

将所述签名值与所述钥匙信息中的钥匙签名进行比对,并对所述第一密文进行解密,若所述签名值与所述钥匙签名一致且解密后的所述第一密文对应的数据与所述第一随机数一致,则一次验证通过。

在本申请一实施例中,所述第二密文由车端在所述一次验证通过后根据预设加密算法对所述用户终端的第二随机数进行加密得到,包括:

获取所述用户终端生成的第二随机数;

根据车端预先存储的车辆主密钥和所述钥匙信息生成车辆数字密钥;

根据所述车辆数字钥匙和所述第二随机数生成车端会话密钥;

根据所述车端会话密钥对所述第二随机数进行加密,得到所述第二密文。

在本申请一实施例中,根据车端反馈的第二密文进行解密验证,包括:

根据约定的算法对所述第二密文进行解密,得到所述第二密文中的数据;

将所述第二密文中的数据与所述第二随机数进行比对,若二者一致,则验证通过。

本申请提供一种汽车蓝牙密钥安全管理系统,包括:

钥匙请求模块,用于响应于用户终端的请求操作生成蓝牙钥匙启用请求并输出至云端;

钥匙获取模块,用于根据所述蓝牙钥匙启用请求获取云端对应车辆的数字钥匙,其中所述数字钥匙由云端根据预存储的车辆主密钥生成,所述车辆主密钥与车辆信息关联;

加密控制模块,用于根据所述数字钥匙生成会话密钥以与车端进行加密会话。

本申请一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的汽车蓝牙密钥安全管理方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的汽车蓝牙密钥安全管理方法的步骤。

如上所述,本申请一种汽车蓝牙密钥安全管理方法、系统、设备和介质,具有以下有益效果。

本申请响应于用户终端的请求操作生成蓝牙钥匙启用请求并输出至云端;根据所述蓝牙钥匙启用请求获取云端对应车辆的数字钥匙,其中所述数字钥匙由云端根据预存储的车辆主密钥生成,所述车辆主密钥与车辆信息关联;根据所述数字钥匙生成会话密钥以与车端进行加密会话。本申请根据与车辆信息关联的车辆主密钥生成数字钥匙,保证数字钥匙以及会话密钥的唯一性,同时基于用户终端和云端进行交互生成会话密钥,实现密钥分发及密钥存储的闭环管理,保证数据传输的安全性。

附图说明

图1为本申请一实施例中汽车蓝牙密钥安全管理方法的应用场景示意图。

图2是本申请实施例提供的终端的结构示意图。

图3为本申请一实施例中汽车蓝牙密钥安全管理方法的流程示意图。

图4为本申请另一实施例中汽车蓝牙密钥安全管理方法的流程示意图。

图5为本申请一实施例中车辆主密钥生成的流程示意图。

图6为本申请一实施例中车辆主密钥派生的流程示意图。

图7为本申请一实施例中密钥管理的流程示意图。

图8为本申请一实施例中汽车蓝牙密钥安全管理系统的模块图。

图9为本申请一实施例中设备的结构示意图。

具体实施方式

以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

现有蓝牙钥匙管理方法中也有通过车联网平台将蓝牙钥匙分发至用户终端和目标车辆的T-BOX,且分发过程经过加密保护。当这类方法主要针对密钥的安全分发,并没有提供密钥安全使用的措施,无法保证在通信认证过程中密钥被盗取,可能存在通信数据被伪造,进而非法进行车控操作。

此外现有方法中也有采用签名算法对数字钥匙提取摘要,通过认证解密得到的摘要与数字钥匙的对应关系,并比对解密得到的数字钥匙与本方数据库中记载的数字钥匙会否一致。但是该类方案只是强调了密钥的一致性,并没有从密钥生成、密钥分发、以及密钥派生的安全角度出发提供安全解决方案,并不能保证整个链路中密钥的安全性和可靠性。

基于以上现有技术存在的问题,本申请提供一种汽车蓝牙钥匙安全管理方法、系统、设备和介质。

本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶、智能汽车等。下面说明本申请实施例提供的设备的示例性应用,本申请实施例提供的设备可以实施为智能手机、智能手表、笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能语音交互设备、智能家电和车载终端等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为服务器时示例性应用。

在一实施例中,车辆可通过网络向PKI(Public KeyInfrastructure公钥基础设施)系统提交车辆信息,申请车辆主密钥。PKI系统根据车辆信息生成车辆主密钥,并通过加密算法加密后分发给车辆和云端的蓝牙钥匙密钥管理平台。车辆主密钥由PKI系统根据车辆的唯一性信息生成,可实现一车一密,且密钥通过加密的方式传输,可采用安全芯片或者硬件安全模块等安全存储环境进行存储,从主密钥生成、主密钥分发及主密钥存储采用闭环管理,降低主密钥泄露风险。

请参阅图1,图1为本申请一实施例中汽车蓝牙密钥安全管理方法的应用场景示意图。可通过车端将车辆信息发送给PKI系统以申请车辆主密钥。PKI系统将生成的车辆主密钥通过加密的方式下发至车辆300和用于进行蓝牙钥匙管理的服务器200进行存储。用户可通过终端400向服务器200发送蓝牙钥匙启用请求。终端400通过网络100与服务器200连接,以将蓝牙钥匙启用请求发送给服务器200。蓝牙钥匙启用请求中可包含车辆信息,服务器200获取车辆信息后,根据车辆信息调用对应的车辆主密钥生成数字钥匙下发至终端400。终端400根据数字钥匙生成会话密钥与车辆300建立通信通道,通过建立的通信通道传输数字钥匙的控制指令等会话数据,以进行车端控制,如解锁车门、启动发动机、打开空调等。

在一实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。

在一实施例中,也可在终端400上录入车辆信息,将车辆信息发送个PKI系统以申请对应车辆的车辆主密钥。PKI系统生成车辆主密钥后将车辆主密钥下发至车辆300和服务器200进行存储。在另一实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能语音交互设备、智能家电和车载终端等,但并不局限于此。

参见图2,图2是本申请实施例提供的终端400的结构示意图,图2所示的终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。

处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。

存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器410的一个或多个存储设备。

存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。

在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;

网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;

呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);

输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。

在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器450中的汽车蓝牙密钥安全管理系统455,其可以是程序和插件等形式的软件,包括以下软件模块:钥匙请求模块4551、钥匙获取模块4552和加密控制模块4553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。

将在下文中说明各个模块的功能。

在另一些实施例中,本申请实施例提供的系统可以采用硬件方式实现,作为示例,本申请实施例提供的系统可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的汽车蓝牙密钥安全管理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-ProgrammableGateArray)或其他电子元件。

在一些实施例中,终端或服务器可以通过运行计算机程序来实现本申请实施例提供的汽车蓝牙密钥安全管理方法。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序,如社交应用APP或者消息分享APP;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序或者网页客户端程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。

下面将结合本申请实施例提供的设备的示例性应用和实施,说明本申请实施例提供的汽车蓝牙密钥安全管理方法。

请参阅图3,本申请提供一种汽车蓝牙密钥安全管理方法,该方法包括以下步骤。

步骤S001,响应于用户终端的请求操作生成蓝牙钥匙启用请求并输出至云端。

在一实施例中,在启用蓝牙钥匙之前,可将车辆信息发送给PKI系统,申请车辆主密钥。PKI系统将车辆主密钥下发给车辆和云端的蓝牙钥匙密钥管理平台进行存储。

具体地,请参阅图4,图4为本申请另一实施例中汽车蓝牙密钥安全管理方法的流程示意图。包括以下步骤:

S1、密钥生成:车辆申请车辆主密钥,车辆通过向PKI系统提交车辆信息获取车辆主密钥;PKI(Public KeyInfrastructure公钥基础设施)系统根据车辆信息生成车辆主密钥,并通过加密算法加密,分发给车辆和蓝牙钥匙密钥管理平台。

S2、密钥存储:车辆将获得的车辆主密钥灌装到车辆的安全芯片中,进行安全存储;蓝牙钥匙密钥管理平台会将获得的车辆主密钥保存在安全存储空间中并建立车辆主密钥和车辆信息的绑定关系。

S3、密钥派生:蓝牙钥匙在用户申请启用时会由蓝牙钥匙密钥管理平台依据算法生成数字钥匙,并通过安全通道下发给用户手机。

S4、密钥管理:用户在使用蓝牙钥匙时,手机APP与车辆通过数字钥匙建立安全通信通道,并生成会话密钥,用于通信数据加解密,保证数据安全。

在一实施例中,请参阅图5,图5为本申请一实施例中车辆主密钥生成的流程示意图。生成车辆主密钥包括以下步骤:

S11、车辆向PKI系统提交车辆信息,申请车辆主密钥,提交的车辆信息可包括车辆的VIN码、车机的TUID编码等可唯一标识车辆的信息;

S12、PKI系统收到车辆信息以后通过算法生成车辆主密钥;

在一实施例中,对称算法-AES可以作为生成车辆主密钥的算法,密钥长度可以选择128位、192位或256位。也可采用国密算法-SM3生成车辆主密钥。具体车辆主密钥生成算法可根据实际应用需求进行设置,这里不作限制。

S13、PKI系统将根据车辆信息生成的车辆主密钥通过加密算法加密,分发给车辆和蓝牙钥匙密钥平台。

在一实施例中,可采用对称算法-AES、白盒算法或者非对称算法-RSA作为车辆主密钥传输过程中的加密算法。

在一实施例中,请参阅图5,图5为本申请一实施例中车辆主密钥存储的流程示意图。车辆将获得的车辆主密钥灌装到车辆的安全芯片中,进行安全存储;蓝牙钥匙密钥管理平台会将获得的车辆主密钥保存在安全存储空间中并建立车辆主密钥和车辆信息的关联关系。可采用安全芯片、硬件安全模块或者可信执行环境作为蓝牙钥匙密钥管理平台的安全存储空间。车辆主密钥存储包括以下步骤:

S21、车辆将车辆主密钥灌装到车辆的安全芯片中进行安全存储;

S22、蓝牙钥匙密钥管理平台会将车辆主密钥保存在安全存储空间;

S23、蓝牙钥匙密钥管理平台会收集车辆信息,并与车辆主要密钥建立关联关系。

在一实施例中,响应于用户终端的请求操作生成蓝牙钥匙启用请求,包括:

通过所述用户终端的交互界面采集钥匙信息,其中所述钥匙信息包括车辆信息、钥匙有效时间以及钥匙类型;

根据所述钥匙信息生成所述蓝牙钥匙启用请求。

在一实施例中,用户终端可包括手机、平板等便携式终端,也可包括电脑等终端设备。用户终端可提供交互界面用于用户录入钥匙信息。用户终端根据用户录入的钥匙信息生成蓝牙钥匙启用请求。将该蓝牙钥匙启用请求发送给蓝牙钥匙密钥管理平台。

步骤S002,根据所述蓝牙钥匙启用请求获取云端对应车辆的数字钥匙,其中所述数字钥匙由云端根据预存储的车辆主密钥生成,所述车辆主密钥与车辆信息关联。

在一实施例中,数字钥匙由云端根据预存储的车辆主密钥生成,包括:

获取所述蓝牙钥匙启用请求中的车辆信息;

根据所述所述蓝牙钥匙启用请求中的车辆信息调用关联的车辆主密钥;

根据所述蓝牙钥匙启用请求中的钥匙信息生成钥匙摘要;

根据所述钥匙摘要和所述车辆主密钥生成所述数字钥匙。

具体地,请参阅图6,图6为本申请一实施例中车辆主密钥派生的流程示意图。蓝牙钥匙在用户申请启用时会由蓝牙钥匙密钥管理平台依据算法生成数字钥匙,并通过安全通道下发给用户终端。车辆主密钥派生包括以下步骤:

S31、用户申请启用蓝牙钥匙,手机APP会生成钥匙信息,并上传给蓝牙钥匙密钥管理平台。钥匙信息中应该包含车辆信息、钥匙有效时间、钥匙类型等。

在一实施例中,钥匙信息中可以包含钥匙的ID、用户信息、车辆VIN、钥匙的创建时间、钥匙有效期限、钥匙的类型等。

在一实施例中,钥匙类型可以支持NFC钥匙、ICCE钥匙、CCC钥匙等。

S32、蓝牙钥匙密钥管理平台利用钥匙信息数据中车辆信息查询对应车辆的车辆主密钥;

S33、蓝牙钥匙密钥管理平台在收到钥匙信息以后,对数据进行哈希运算,生成一个钥匙信息的摘要。

在一实施例中,可通过SHA256算法或者SM3算法计算钥匙信息摘要。具体计算过程这里不再赘述。

S34、采用车辆主密钥与钥匙信息的摘要信息,配合分散算法,得到数字钥匙。

在一实施例中,可采用AES_ECB算法或SM4算法作为分散算法计算数字钥匙。

在一实施例中,根据所述钥匙摘要和所述车辆主密钥生成所述数字钥匙之后,还包括:

根据所述钥匙摘要和所述车辆主密钥生成钥匙签名;

将所述钥匙签名填充到所述钥匙信息中,并和所述数字钥匙同步输出至所述用户终端。

请参阅图6中的步骤S35和步骤S36,在步骤S35中,采用车辆主密钥与钥匙信息的摘要信息,配合MAC算法得到钥匙信息的签名值,并将其填充到钥匙信息。

在步骤S36中,以安全方式将数字钥匙和钥匙信息传递给用户终端,如手机APP等。

步骤S003,根据所述数字钥匙生成会话密钥以与车端进行加密会话。

在一实施例中,用户终端在接收到数字钥匙后,可根据数字钥匙建立用户终端与车端的通信通道,以实现数据安全传输,防止会话密钥被窃取,保证车辆控制的安全性。

在一实施例中,根据所述数字钥匙生成会话密钥,还包括:

根据所述数字密钥和对应的钥匙信息进行车端认证;

认证通过后,建立通信通道以进行数据传输,所述通信通道中传输的数据由所述会话密钥进行加密。

具体地,用户终端与车辆可通过数字钥匙建立安全通信通道,并生成会话密钥用于通信数据的加密和解密,保证数据安全,完成控车操作。

在一实施例中,根据所述数字密钥和对应的钥匙信息进行车端认证,包括:

获取车端生成的第一随机数,根据所述数字钥匙和所述第一随机数生成会话密钥,并通过所述会话密钥对所述第一随机数进行加密生成第一密文,将所述第一密文与所述钥匙信息输出至所述车端,以使所述车端根据所述钥匙信息和所述第一密文进行一次认证;

具体地,请参阅图7,图7为本申请一实施例中密钥管理的流程示意图。进行一次认证包括以下步骤:

S41、车辆生成随机数,发送给用户终端,获取钥匙信息;

S42、用户终端通过算法生成会话密钥,并加密随机数,连同钥匙信息发送给车辆;

在一实施例中,AES_CBC算法或SM4算法可以作为会话密钥的生成算法。生成会话密钥时,可将数字钥匙作为会话密钥生成算法的key,车侧随机数作为数据输入,通过算法,生成会话密钥,具体计算过程这里不再赘述。通过会话密钥加密车辆生成的随机数得到第一密文。

在一实施例中,车端根据所述钥匙信息和所述第一密文进行一次认证,包括以下步骤:

步骤S030,根据车端预存储的车辆主密钥和所述钥匙信息生成签名值.

在一实施例中,由于前述步骤向PKI系统申请车辆主密钥时,PKI系统已将对应的车辆主密钥下发至车辆和蓝牙钥匙密钥管理平台。车端会预先存储车辆主密钥。可调用车端的车辆主密钥结合从用户终端获取的钥匙信息生成车端数字钥匙签名值。

步骤S031,将所述签名值与所述钥匙信息中的钥匙签名进行比对,并对所述第一密文进行解密,若所述签名值与所述钥匙签名一致且解密后的所述第一密文对应的数据与所述第一随机数一致,则一次验证通过。

在一实施例中,车辆在从钥匙信息中获取车辆信息,并生成数字钥匙和钥匙信息的签名值,比对正确性,并按照相同算法生成会话密钥解密数据,验证数据正确性。若正确,车辆将利用车端的会话密钥加密的手机端随机数生成第二密文发送给用户终端。

在一实施例中,所述第二密文由车端在所述一次验证通过后根据预设加密算法对所述用户终端的第二随机数进行加密得到,包括:获取所述用户终端生成的第二随机数;根据车端预先存储的车辆主密钥和所述钥匙信息生成车辆数字密钥;根据所述车辆数字钥匙和所述第二随机数生成车端会话密钥;根据所述车端会话密钥对所述第二随机数进行加密,得到所述第二密文。

具体地,可采用SHA256或者SM3可以用于计算钥匙信息摘要;车辆利用车辆主密钥、钥匙信息摘要通过分散算法计算出车端的数字钥匙;车辆利用车辆主密钥、钥匙信息摘要通过MAC算法的计算钥匙新签名值。进一步地,以车端的数字钥匙作为车端会话密钥生成算法的key,用户终端随机数作为数据输入,通过算法,生成车端的会话密钥,利用该车端的会话密钥对与用户终端生成的随机数进行加密得到第二密文发送给用户终端进行解密验证。

步骤S032,根据车端反馈的第二密文进行解密验证,验证通过后根据所述用户终端的会话密钥生成第三密文以输出至车端,其中所述第二密文由车端在所述一次验证通过后根据预设加密算法对所述用户终端的第二随机数进行加密得到;

在一实施例中,根据车端反馈的第二密文进行解密验证,包括:

根据约定的算法对所述第二密文进行解密,得到所述第二密文中的数据;

将所述第二密文中的数据与所述第二随机数进行比对,若二者一致,则验证通过。

具体地,用户终端在接收到第二密文后,可采用约定的解密算法对第二密文进行解密,得到第二密文中的随机数,将第二密文中的随机数与之前生成的第二随机数进行比对,若一致,则验证通过。

响应于车端反馈的验证通过信息后建立所述通信通道,其中所述验证通过消息由所述车端对所述第三密文进行解密成功后生成。

具体地,请参阅图7中步骤S44-S46。

S44、手机APP在解密数据,并验证。手机APP接收到第二密文后进行解密,完成解密数据验证并通过后,利用约定算法生成会话密钥加密数据生成第三密文发送给车辆。

在一实施例中,车辆在收到第三密文后,利用车端的数字钥匙、车侧随机数通过分散计算出会话密钥;会话密钥生成算法可包括AES_CBC或SM4。

S45、车辆利用相同算法生成会话密钥解密数据,若解密成功,则双向认证结束,安全通信通道建立;

在一实施例中,车辆利用车端的数字钥匙、车侧随机数通过分散计算出车端会话密钥;

在一实施例中,AES_CBC算法或SM4算法可以作为会话密钥的生成算法。

S46、手机APP和车辆利用会话密钥加解密数据,进行控车操作。

基于以上技术方案,本申请中车辆主密钥由PKI系统根据设备唯一性信息生成,实现一机一密,并且密钥通过加密方式传输,采用了安全芯片或者硬件安全模块等安全存储环境进行存储,从密钥生成、密钥分发及密钥存储采用闭环管理,相比于传统中主密钥一样,只利用加密传输的方式或只是采用安全存储的方式,降低了密钥泄露风险;采用派生算法生成通信密钥,派生出来的密钥设置了使用有效性,并且保证每次申请的密钥不一样,相比于传统采用固定的通信密钥机制,增加了密钥破解难度,提升了数据通信安全性;建立安全连接时必须采用双向认证机制,由通信密钥、随机数通过分散算法生成会话密钥的机制,保证了会话密钥互异性,避免通信数据泄露导致的密钥被识别的风险。

请参阅图8,图8为本申请一实施例中汽车蓝牙密钥安全管理系统的模块图,该系统包括:钥匙请求模块4551,用于响应于用户终端的请求操作生成蓝牙钥匙启用请求并输出至云端;钥匙获取模块4552,用于根据所述蓝牙钥匙启用请求获取云端对应车辆的数字钥匙,其中所述数字钥匙由云端根据预存储的车辆主密钥生成,所述车辆主密钥与车辆信息关联;加密控制模块4553,用于根据所述数字钥匙生成会话密钥以与车端进行加密会话。

在一实施例中,钥匙请求模块4551还用于通过所述用户终端的交互界面采集钥匙信息,其中所述钥匙信息包括车辆信息、钥匙有效时间以及钥匙类型;根据所述钥匙信息生成所述蓝牙钥匙启用请求。

在一实施例中,钥匙获取模块4552还用于所述数字钥匙由云端根据预存储的车辆主密钥生成,包括:获取所述蓝牙钥匙启用请求中的车辆信息;根据所述所述蓝牙钥匙启用请求中的车辆信息调用关联的车辆主密钥;根据所述蓝牙钥匙启用请求中的钥匙信息生成钥匙摘要;根据所述钥匙摘要和所述车辆主密钥生成所述数字钥匙。

在一实施例中,钥匙获取模块4552还用于根据所述钥匙摘要和所述车辆主密钥生成所述数字钥匙之后,还包括:根据所述钥匙摘要和所述车辆主密钥生成钥匙签名;将所述钥匙签名填充到所述钥匙信息中,并和所述数字钥匙同步输出至所述用户终端。

在一实施例中,加密控制模块4553还用于根据所述数字钥匙生成会话密钥,还包括:根据所述数字密钥和对应的钥匙信息进行车端认证;认证通过后,建立通信通道以进行数据传输,所述通信通道中传输的数据由所述会话密钥进行加密。

在一实施例中,加密控制模块4553还用于根据所述数字密钥和对应的钥匙信息进行车端认证,包括:获取车端生成的第一随机数,根据所述数字钥匙和所述第一随机数生成会话密钥,并通过所述会话密钥对所述第一随机数进行加密生成第一密文,将所述第一密文与所述钥匙信息输出至所述车端,以使所述车端根据所述钥匙信息和所述第一密文进行一次认证;根据车端反馈的第二密文进行解密验证,验证通过后根据所述用户终端的会话密钥生成第三密文以输出至车端,其中所述第二密文由车端在所述一次验证通过后根据预设加密算法对所述用户终端的第二随机数进行加密得到;响应于车端反馈的验证通过信息后建立所述通信通道,其中所述验证通过消息由所述车端对所述第三密文进行解密成功后生成。

在一实施例中,加密控制模块4553还用于所述车端根据所述钥匙信息和所述第一密文进行一次认证,包括:根据车端预存储的车辆主密钥和所述钥匙信息生成签名值;将所述签名值与所述钥匙信息中的钥匙签名进行比对,并对所述第一密文进行解密,若所述签名值与所述钥匙签名一致且解密后的所述第一密文对应的数据与所述第一随机数一致,则一次验证通过。

在一实施例中,加密控制模块4553还用于所述第二密文由车端在所述一次验证通过后根据预设加密算法对所述用户终端的第二随机数进行加密得到,包括:获取所述用户终端生成的第二随机数;根据车端预先存储的车辆主密钥和所述钥匙信息生成车辆数字密钥;根据所述车辆数字钥匙和所述第二随机数生成车端会话密钥;根据所述车端会话密钥对所述第二随机数进行加密,得到所述第二密文。

在一实施例中,加密控制模块4553还用于根据车端反馈的第二密文进行解密验证,包括:根据约定的算法对所述第二密文进行解密,得到所述第二密文中的数据;将所述第二密文中的数据与所述第二随机数进行比对,若二者一致,则验证通过。

上述汽车蓝牙密钥安全管理系统可以以一种计算机程序的形式实现,计算机程序可以在如图9所示的计算机设备上运行。计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。

上述汽车蓝牙密钥安全管理系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于终端的存储器中,也可以以软件形式存储于终端的存储器中,以便于处理器调用执行以上各个模块对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。

如图9所示,为一个实施例中计算机设备的内部结构示意图。提供了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:响应于用户终端的请求操作生成蓝牙钥匙启用请求并输出至云端;根据所述蓝牙钥匙启用请求获取云端对应车辆的数字钥匙,其中所述数字钥匙由云端根据预存储的车辆主密钥生成,所述车辆主密钥与车辆信息关联;根据所述数字钥匙生成会话密钥以与车端进行加密会话。

在一实施例中,上述处理器执行时,所实现的响应于用户终端的请求操作生成蓝牙钥匙启用请求,包括:通过所述用户终端的交互界面采集钥匙信息,其中所述钥匙信息包括车辆信息、钥匙有效时间以及钥匙类型;根据所述钥匙信息生成所述蓝牙钥匙启用请求。

在一实施例中,上述处理器执行时,所实现的所述数字钥匙由云端根据预存储的车辆主密钥生成,包括:获取所述蓝牙钥匙启用请求中的车辆信息;根据所述所述蓝牙钥匙启用请求中的车辆信息调用关联的车辆主密钥;根据所述蓝牙钥匙启用请求中的钥匙信息生成钥匙摘要;根据所述钥匙摘要和所述车辆主密钥生成所述数字钥匙。

在一实施例中,上述处理器执行时,所实现的根据所述钥匙摘要和所述车辆主密钥生成所述数字钥匙之后,还包括:根据所述钥匙摘要和所述车辆主密钥生成钥匙签名;将所述钥匙签名填充到所述钥匙信息中,并和所述数字钥匙同步输出至所述用户终端。

在一实施例中,上述处理器执行时,所实现的根据所述数字钥匙生成会话密钥,还包括:根据所述数字密钥和对应的钥匙信息进行车端认证;认证通过后,建立通信通道以进行数据传输,所述通信通道中传输的数据由所述会话密钥进行加密。

在一实施例中,上述处理器执行时,所实现的根据所述数字密钥和对应的钥匙信息进行车端认证,包括:获取车端生成的第一随机数,根据所述数字钥匙和所述第一随机数生成会话密钥,并通过所述会话密钥对所述第一随机数进行加密生成第一密文,将所述第一密文与所述钥匙信息输出至所述车端,以使所述车端根据所述钥匙信息和所述第一密文进行一次认证;根据车端反馈的第二密文进行解密验证,验证通过后根据所述用户终端的会话密钥生成第三密文以输出至车端,其中所述第二密文由车端在所述一次验证通过后根据预设加密算法对所述用户终端的第二随机数进行加密得到;响应于车端反馈的验证通过信息后建立所述通信通道,其中所述验证通过消息由所述车端对所述第三密文进行解密成功后生成。

在一实施例中,上述处理器执行时,所实现的所述车端根据所述钥匙信息和所述第一密文进行一次认证,包括:根据车端预存储的车辆主密钥和所述钥匙信息生成签名值;将所述签名值与所述钥匙信息中的钥匙签名进行比对,并对所述第一密文进行解密,若所述签名值与所述钥匙签名一致且解密后的所述第一密文对应的数据与所述第一随机数一致,则一次验证通过。

在一实施例中,上述处理器执行时,所实现的所述第二密文由车端在所述一次验证通过后根据预设加密算法对所述用户终端的第二随机数进行加密得到,包括:获取所述用户终端生成的第二随机数;根据车端预先存储的车辆主密钥和所述钥匙信息生成车辆数字密钥;根据所述车辆数字钥匙和所述第二随机数生成车端会话密钥;根据所述车端会话密钥对所述第二随机数进行加密,得到所述第二密文。

在一实施例中,上述处理器执行时,所实现的根据车端反馈的第二密文进行解密验证,包括:根据约定的算法对所述第二密文进行解密,得到所述第二密文中的数据;将所述第二密文中的数据与所述第二随机数进行比对,若二者一致,则验证通过。

在一个实施例中,上述的计算机设备可用作服务器,包括但不限于独立的物理服务器,或者是多个物理服务器构成的服务器集群,该计算机设备还可用作终端,包括但不限手机、平板电脑、个人数字助理或者智能设备等。如图5所示,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、内存储器、显示屏和网络接口。

其中,该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。计算机设备的非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以上各个实施例所提供的一种汽车蓝牙密钥安全管理方法方法。计算机设备中的内存储器为非易失性存储介质中的操作系统和计算机程序提供高速缓存的运行环境。显示界面可通过显示屏进行数据展示。显示屏可以是触摸屏,比如为电容屏或电子屏,可通过接收作用于该触摸屏上显示的控件的点击操作,生成相应的指令。

本领域技术人员可以理解,图9中示出的计算机设备的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:响应于用户终端的请求操作生成蓝牙钥匙启用请求并输出至云端;根据所述蓝牙钥匙启用请求获取云端对应车辆的数字钥匙,其中所述数字钥匙由云端根据预存储的车辆主密钥生成,所述车辆主密钥与车辆信息关联;根据所述数字钥匙生成会话密钥以与车端进行加密会话。

在一实施例中,该计算机程序被处理器执行时,所实现的响应于用户终端的请求操作生成蓝牙钥匙启用请求,包括:通过所述用户终端的交互界面采集钥匙信息,其中所述钥匙信息包括车辆信息、钥匙有效时间以及钥匙类型;根据所述钥匙信息生成所述蓝牙钥匙启用请求。

在一实施例中,该计算机程序被处理器执行时,所实现的所述数字钥匙由云端根据预存储的车辆主密钥生成,包括:获取所述蓝牙钥匙启用请求中的车辆信息;根据所述所述蓝牙钥匙启用请求中的车辆信息调用关联的车辆主密钥;根据所述蓝牙钥匙启用请求中的钥匙信息生成钥匙摘要;根据所述钥匙摘要和所述车辆主密钥生成所述数字钥匙。

在一实施例中,该计算机程序被处理器执行时,所实现的根据所述钥匙摘要和所述车辆主密钥生成所述数字钥匙之后,还包括:根据所述钥匙摘要和所述车辆主密钥生成钥匙签名;将所述钥匙签名填充到所述钥匙信息中,并和所述数字钥匙同步输出至所述用户终端。

在一实施例中,该计算机程序被处理器执行时,所实现的根据所述数字钥匙生成会话密钥,还包括:根据所述数字密钥和对应的钥匙信息进行车端认证;认证通过后,建立通信通道以进行数据传输,所述通信通道中传输的数据由所述会话密钥进行加密。

在一实施例中,该计算机程序被处理器执行时,所实现的根据所述数字密钥和对应的钥匙信息进行车端认证,包括:获取车端生成的第一随机数,根据所述数字钥匙和所述第一随机数生成会话密钥,并通过所述会话密钥对所述第一随机数进行加密生成第一密文,将所述第一密文与所述钥匙信息输出至所述车端,以使所述车端根据所述钥匙信息和所述第一密文进行一次认证;根据车端反馈的第二密文进行解密验证,验证通过后根据所述用户终端的会话密钥生成第三密文以输出至车端,其中所述第二密文由车端在所述一次验证通过后根据预设加密算法对所述用户终端的第二随机数进行加密得到;响应于车端反馈的验证通过信息后建立所述通信通道,其中所述验证通过消息由所述车端对所述第三密文进行解密成功后生成。

在一实施例中,该指令被处理器执行时,所实现的所述车端根据所述钥匙信息和所述第一密文进行一次认证,包括:根据车端预存储的车辆主密钥和所述钥匙信息生成签名值;将所述签名值与所述钥匙信息中的钥匙签名进行比对,并对所述第一密文进行解密,若所述签名值与所述钥匙签名一致且解密后的所述第一密文对应的数据与所述第一随机数一致,则一次验证通过。

在一实施例中,该指令被处理器执行时,所实现的所述第二密文由车端在所述一次验证通过后根据预设加密算法对所述用户终端的第二随机数进行加密得到,包括:获取所述用户终端生成的第二随机数;根据车端预先存储的车辆主密钥和所述钥匙信息生成车辆数字密钥;根据所述车辆数字钥匙和所述第二随机数生成车端会话密钥;根据所述车端会话密钥对所述第二随机数进行加密,得到所述第二密文。

在一实施例中,该指令被处理器执行时,所实现的根据车端反馈的第二密文进行解密验证,包括:根据约定的算法对所述第二密文进行解密,得到所述第二密文中的数据;将所述第二密文中的数据与所述第二随机数进行比对,若二者一致,则验证通过。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。

上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。

技术分类

06120115922505