H04L9/08 H04L9/40
1.一种车辆OTA升级方法,其特征在于,应用于服务器端,所述方法包括:
在当次升级前,与车辆端进行密钥协商,以在服务器端生成服务器共享密钥、在车辆端生成车辆共享密钥;
接收车辆端发送的OTA升级包申请请求;
基于所述申请请求利用所述服务器共享密钥对所述OTA升级包加密;
将加密后的OTA升级包发送至车辆端,所述OTA升级包在车辆端通过所述车辆共享密钥解密。
2.根据权利要求1所述的车辆OTA升级方法,其特征在于,所述与车辆端进行密钥协商,以在服务器端生成服务器共享密钥,包括:
接收车辆发送的车辆公私钥对中的车辆公钥;
生成服务器公私钥对并将服务器公钥发送至车辆端;
通过所述车辆公钥和服务器私钥生成服务器共享密钥。
3.根据权利要求2所述的车辆OTA升级方法,其特征在于,所述将服务器公钥发送至车辆端,包括:
通过SSL连接将所述服务器公钥发送至车辆端。
4.根据权利要求1所述的车辆OTA升级方法,其特征在于:
所述服务器共享密钥和所述车辆共享密钥的计算方法相同。
5.一种车辆OTA升级包加密方法,其特征在于,应用于车辆端,所述方法包括:
在当次升级前,与服务器端进行密钥协商,以在服务器端生成服务器共享密钥、在车辆端生成车辆共享密钥;
向服务器端发送OTA升级包申请请求;
接收所述服务器端返回的加密OTA升级包;
利用所述车辆共享密钥对所述加密OTA升级包进行解密。
6.根据权利要求5所述的车辆OTA升级包加密方法,其特征在于,所述在当次升级前,与服务器端进行密钥协商,以在车辆端生成车辆共享密钥,包括:
生成车辆公私钥对并将车辆公钥发送至服务器端;
接收服务器端返回的服务器公钥;
通过所述服务器公钥和车辆私钥生成车辆共享密钥。
7.一种车辆OTA升级装置,其特征在于,应用于服务器端,所述装置包括:
第一密钥协商模块,用于在当次升级前,与车辆端进行密钥协商,以在服务器端生成服务器共享密钥、在车辆端生成车辆共享密钥;
请求接收模块,用于接收车辆端发送的OTA升级包申请请求;
加密模块,用于基于所述申请请求利用所述服务器共享密钥对所述OTA升级包加密;
升级包发送模块,用于将加密后的OTA升级包发送至车辆端,所述OTA升级包在车辆端通过所述车辆共享密钥解密。
8.一种车辆OTA升级包加密装置,其特征在于,应用于车辆端,所述装置包括:
第二密钥协商模块,用于在当次升级前,与服务器端进行密钥协商,以在服务器端生成服务器共享密钥、在车辆端生成车辆共享密钥;
请求发送模块,用于向服务器端发送OTA升级包申请请求;
升级包接收模块,用于接收所述服务器端返回的加密OTA升级包;
解密模块,用于利用所述车辆共享密钥对所述加密OTA升级包进行解密。
9.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使所述电子设备执行根据权利要求1至4中任一项所述的车辆OTA升级方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至4任一项所述的车辆OTA升级方法。
本申请涉及车辆OTA升级技术领域,具体而言,涉及一种车辆OTA升级方法、OTA升级包加密方法及装置。
以往当汽车在用户日常行驶中出现了系统方面的缺陷时,只能通过汽车厂家召回故障车辆来解决,具体需要用户收到召回程序后,返厂进行系统的统一升级来排除故障。而OTA技术则可以通过网络传输,远程、快速地通过数据包的形式完成缺陷的修复,有效避免了持续数月的进厂召回带来的时间延误。
但是车辆在OTA升级过程中,容易遭到黑客攻击,入侵者采用冒充、篡改等攻击手段对汽车升级包发起攻击,导致升级包在网络传输过程中被非法获取,造成升级包的泄露,因此需要对OTA升级包进行加密。而用于加密升级包的加密密钥的安全性问题至关重要,将加密密钥在网络中传输,具有加密密钥泄漏的风险。
本申请实施例的目的在于提供一种车辆OTA升级方法、OTA升级包加密方法及装置,每次升级前分别在车辆端和服务器端生成共享密钥,实现对升级包的加解密,而无需通过网络传输加密密钥,解决了现有的加密密钥在网络中传输,导致加密密钥具有泄漏风险的问题。
本申请实施例提供了一种车辆OTA升级方法,应用于服务器端,所述方法包括:
在当次升级前,与车辆端进行密钥协商,以在服务器端生成服务器共享密钥、在车辆端生成车辆共享密钥;
接收车辆端发送的OTA升级包申请请求;
基于所述申请请求利用所述服务器共享密钥对所述OTA升级包加密;
将加密后的OTA升级包发送至车辆端,所述OTA升级包在车辆端通过所述车辆共享密钥解密。
在上述实现过程中,OTA升级包的加密密钥即服务器共享密钥通过车辆公钥与服务器的私钥计算得到,加密密钥不通过网络传输,避免了通过网络传输泄漏加密密钥的风险,增强了安全性,解决了现有的加密密钥在网络中传输,导致加密密钥具有泄漏风险的问题,并且每次OTA升级都生成新的共享密钥,而不预置固定密钥,极大增加了OTA升级的保密性。
进一步地,所述与车辆端进行密钥协商,以在服务器端生成服务器共享密钥,包括:
接收车辆发送的车辆公私钥对中的车辆公钥;
生成服务器公私钥对并将服务器公钥发送至车辆端;
通过所述车辆公钥和服务器私钥生成服务器共享密钥。
在上述实现过程中,服务器利用车辆公钥和自身私钥生成服务器共享密钥,利用服务器共享密钥对升级包进行加密,避免了加密密钥在网络上传输的问题。
进一步地,所述将服务器公钥发送至车辆端,包括:
通过SSL连接将所述服务器公钥发送至车辆端。
在上述实现过程中,通过SSL连接发送服务器密钥,增强公钥传输的安全性。
进一步地,所述服务器共享密钥和所述车辆共享密钥的计算方法相同。
在上述实现过程中,服务器共享密钥和车辆共享密钥的计算方法相同,使得升级包在车辆端可以通过车辆共享密钥进行解密,而无需在网路上传输服务器共享密钥,提高了加密密钥的安全性。
本申请实施例还提供一种车辆OTA升级包加密方法,应用于车辆端,所述方法包括:
在当次升级前,与服务器端进行密钥协商,以在服务器端生成服务器共享密钥、在车辆端生成车辆共享密钥;
向服务器端发送OTA升级包申请请求;
接收所述服务器端返回的加密OTA升级包;
利用所述车辆共享密钥对所述加密OTA升级包进行解密。
在上述实现过程中,OTA升级包的解密密钥即车辆共享密钥通过服务器公钥与车辆的私钥计算得到,解密密钥不通过网络传输,避免了通过网络传输泄漏加密密钥的风险,增强了安全性,解决了现有的加密密钥在网络中传输,导致加密密钥具有泄漏风险的问题,并且每次OTA升级都生成新的共享密钥,而不预置固定密钥,极大增加了OTA升级的保密性。
进一步地,所述在当次升级前,与服务器端进行密钥协商,以在车辆端生成车辆共享密钥,包括:
生成车辆公私钥对并将车辆公钥发送至服务器端;
接收服务器端返回的服务器公钥;
通过所述服务器公钥和车辆私钥生成车辆共享密钥。
在上述实现过程中,车辆端利用服务器公钥和自身私钥生成车辆共享密钥,利用车辆共享密钥对升级包进行加密,避免了加密密钥在网络上传输的问题。
本申请实施例还提供一种车辆OTA升级装置,应用于服务器端,所述装置包括:
第一密钥协商模块,用于在当次升级前,与车辆端进行密钥协商,以在服务器端生成服务器共享密钥、在车辆端生成车辆共享密钥;
请求接收模块,用于接收车辆端发送的OTA升级包申请请求;
加密模块,用于基于所述申请请求利用所述服务器共享密钥对所述OTA升级包加密;
升级包发送模块,用于将加密后的OTA升级包发送至车辆端,所述OTA升级包在车辆端通过所述车辆共享密钥解密。
在上述实现过程中,OTA升级包的加密密钥即服务器共享密钥通过车辆公钥与服务器的私钥计算得到,加密密钥不通过网络传输,避免了通过网络传输泄漏加密密钥的风险,增强了安全性,解决了现有的加密密钥在网络中传输,导致加密密钥具有泄漏风险的问题,并且每次OTA升级都生成新的共享密钥,而不预置固定密钥,极大增加了OTA升级的保密性。
本申请实施例还提供一种车辆OTA升级包加密装置,应用于车辆端,所述装置包括:
第二密钥协商模块,用于在当次升级前,与服务器端进行密钥协商,以在服务器端生成服务器共享密钥、在车辆端生成车辆共享密钥;
请求发送模块,用于向服务器端发送OTA升级包申请请求;
升级包接收模块,用于接收所述服务器端返回的加密OTA升级包;
解密模块,用于利用所述车辆共享密钥对所述加密OTA升级包进行解密。
在上述实现过程中,OTA升级包的解密密钥即车辆共享密钥通过服务器公钥与车辆的私钥计算得到,解密密钥不通过网络传输,避免了通过网络传输泄漏加密密钥的风险,增强了安全性,解决了现有的加密密钥在网络中传输,导致加密密钥具有泄漏风险的问题,并且每次OTA升级都生成新的共享密钥,而不预置固定密钥,极大增加了OTA升级的保密性。
本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使所述电子设备执行上述中任一项所述的车辆OTA升级方法。
本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述中任一项所述的车辆OTA升级方法。
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种车辆OTA升级方法的流程图;
图2为本申请实施例提供的服务器共享密钥的生成流程图;
图3为本申请实施例提供的一种基于共享密钥的车辆OTA升级包的加密方法的具体流程图;
图4为本申请实施例提供的车辆OTA升级包加密方法的流程图;
图5为本申请实施例提供的车辆共享密钥生成流程图;
图6为本申请实施例提供的车辆OTA升级装置的结构框图;
图7为本申请实施例提供的另一种车辆OTA升级装置的结构框图;
图8为本申请实施例提供的车辆OTA升级包加密装置的结构框图;
图9为本申请实施例提供的另一种车辆OTA升级包加密装置的结构框图。
图标:
100-第一密钥协商模块;101-车辆公钥接收模块;102-服务器公钥发送模块;103-服务器共享密钥模块;200-请求接收模块;300-加密模块;400-升级包发送模块;500-第二密钥协商模块;501-车辆公钥发送模块;502-服务器公钥接收模块;503-车辆共享密钥模块;600-请求发送模块;700-升级包接收模块;800-解密模块。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
请参看图1,图1为本申请实施例提供的一种车辆OTA升级方法的流程图。在服务器端,该方法具体包括以下步骤:
步骤S100:在当次升级前,与车辆端进行密钥协商,以在服务器端生成服务器共享密钥、在车辆端生成车辆共享密钥;
OTA升级前需要先生成公私钥对,每次OTA升级都会新生成公私钥对,分别在服务器端生成服务器共享密钥、在车辆端生成车辆共享密钥,保证一次一密,保证每次OTA升级用到的加密密钥都不一样,极大的增加了OTA升级的保密性。
步骤S200:接收车辆端发送的OTA升级包申请请求;
步骤S300:基于所述申请请求利用所述服务器共享密钥对所述OTA升级包加密;
步骤S400:将加密后的OTA升级包发送至车辆端,所述OTA升级包在车辆端通过所述车辆共享密钥解密。
在服务器端生成服务器共享密钥用于对OTA升级包进行加密,确保加密密钥不通过网络传输,增强了安全性。
其中,如图2所示,为服务器共享密钥的生成流程图,步骤S100具体包括:
步骤S101:接收车辆发送的车辆公私钥对中的车辆公钥;
车辆生成非对称密钥对,车辆通过SSL加密连接将生成的车辆公钥发送给服务器。其中,SSL(Secure Sockets Layer,安全套接层协议层),是一种基于WEB应用的安全协议。SSL协议指定了一种在应用程序协议(如HTTP、Telenet、NMTP和FTP等)和TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。通过SSL加密连接传输车辆公钥和服务器公钥,增强了公钥传输的安全性。
步骤S102:生成服务器公私钥对并将服务器公钥发送至车辆端;
服务器收到车辆发送的公钥后,服务器生成用于OTA升级的非对称公私钥对;通过SSL连接将服务器公钥发送至车辆端。
步骤S103:通过所述车辆公钥和服务器私钥生成服务器共享密钥。
如图3所示,为一种基于共享密钥的车辆OTA升级包的加密方法的具体流程图。
车辆收到服务器返回的服务器公钥,车辆通过自己的私钥和服务器的公钥计算车辆共享密钥;服务器通过车辆公钥和服务器私钥计算服务器共享密钥。
在完成了当次的共享密钥计算后,车辆和服务器都有了用于OTA升级所需加密密钥,车辆申请下载OTA升级包,服务器收到车辆的OTA升级包下载申请,使用服务器共享密钥,通过对称加密的方法加密OTA升级包,服务器将加密的OTA升级包发送给车辆,车辆收到加密的OTA升级包后,使用车辆共享密钥解密OTA升级包。
需要说明的是,每次升级时,车辆共享密钥和服务器共享密钥的计算方法相同,使得车辆端的共享密钥能够将加密后的OTA升级包解密。
而每次升级使用的计算方法可以不同,以保证每次生成的共享密钥的安全性,至于生成共享密钥的具体计算方法为现有技术,在此不做任何限定。
在车辆端,如图4所示,为车辆OTA升级包加密方法的流程图,该方法具体包括以下步骤:
步骤S500:在当次升级前,与服务器端进行密钥协商,以在服务器端生成服务器共享密钥、在车辆端生成车辆共享密钥;
步骤S600:向服务器端发送OTA升级包申请请求;
步骤S700:接收所述服务器端返回的加密OTA升级包;
步骤S800:利用所述车辆共享密钥对所述加密OTA升级包进行解密。
如图5所示,为车辆共享密钥生成流程图,步骤S500具体包括:
步骤S501:生成车辆公私钥对并将车辆公钥发送至服务器端;
步骤S502:接收服务器端返回的服务器公钥;
步骤S503:通过所述服务器公钥和车辆私钥生成车辆共享密钥。
OTA升级包的加密密钥通过车辆公钥与服务器私钥计算获取,加密密钥不通过网络传输,避免通过网络传输泄漏加密密钥,增加了OTA升级的安全性。
每次OTA升级需要新生成共享密钥,做到一次一密,保证每次OTA升级用到的密钥都不一样,极大的增加了OTA升级的保密性。
共享密钥的计算效率高于非对称加解密,在保证安全的前提下,提升了效率。
整体而言,基于共享密钥的车辆OTA升级包加密方法,具体包括以下步骤:
步骤S11:车辆生成公私钥对。
车辆与服务器OTA升级前需要先生成公私钥对,每次OTA升级都会新生成公私钥对,保证一次一密。
步骤S12:车辆将自己的公钥发送给服务器。
车辆通过SSL加密连接将S1步骤生成的公钥发送给服务器。
步骤S13:服务器生成公私钥对。
服务器收到车辆发送的公钥后,服务器生成用于OTA升级的公私钥对。
步骤S14:返回服务器公钥。
服务器将自己的公钥通过SSL连接返回给车辆。
步骤S15:车辆通过车辆私钥和服务器公钥计算共享密钥。
车辆收到服务器返回的服务器公钥,车辆通过自己的私钥和服务器的公钥计算共享密钥。
步骤S16:服务器通过车辆公钥和服务器私钥计算共享密钥。
服务器收到车辆的公钥后,服务器通过自己的私钥和车辆的公钥计算共享密钥。
步骤S17:车辆申请OTA升级包。
步骤S11到S16完成了共享密钥的计算,车辆和服务器都有了用于OTA升级所需加密密钥。车辆申请下载OTA升级包。
步骤S18:服务器使用共享密钥加密OTA升级包。
服务器收到车辆的OTA升级包下载申请,使用共享密钥,通过对称加密的方法加密OTA升级包。
步骤S19:服务器返回加密的OTA升级包。
服务器将加密的OTA升级包发送给车辆。
步骤S20:车辆使用共享密钥解密OTA升级包。
车辆收到加密的OTA升级包后,使用共享密钥解密OTA升级包。
该方法解决现有车辆OTA升级包加密密钥的安全问题,确保加密密钥不通过网络传输,并且加密密钥不是预置的固定密钥,增强安全性。
实施例2
本申请实施例提供一种车辆OTA升级装置,应用于服务器端,如图6所示,为车辆OTA升级装置的结构框图,所述装置包括但不限于:
第一密钥协商模块100,用于在当次升级前,与车辆端进行密钥协商,以在服务器端生成服务器共享密钥、在车辆端生成车辆共享密钥;
请求接收模块200,用于接收车辆端发送的OTA升级包申请请求;
加密模块300,用于基于所述申请请求利用所述服务器共享密钥对所述OTA升级包加密;
升级包发送模块400,用于将加密后的OTA升级包发送至车辆端,所述OTA升级包在车辆端通过所述车辆共享密钥解密。
如图7所示,为另一种车辆OTA升级装置的结构框图,第一密钥协商模块100包括:
车辆公钥接收模块101,用于接收车辆发送的车辆公私钥对中的车辆公钥;
服务器公钥发送模块102,用于生成服务器公私钥对并将服务器公钥发送至车辆端;
服务器共享密钥模块103,用于通过所述车辆公钥和服务器私钥生成服务器共享密钥。
本申请实施例还提供一种车辆OTA升级包加密装置,应用于车辆端,如图8所示,为车辆OTA升级包加密装置的结构框图,所述装置包括但不限于:
第二密钥协商模块500,用于在当次升级前,与服务器端进行密钥协商,以在服务器端生成服务器共享密钥、在车辆端生成车辆共享密钥;
请求发送模块600,用于向服务器端发送OTA升级包申请请求;
升级包接收模块700,用于接收所述服务器端返回的加密OTA升级包;
解密模块800,用于利用所述车辆共享密钥对所述加密OTA升级包进行解密。
如图9所示,为另一种车辆OTA升级包加密装置的结构框图,第二密钥协商模块500包括:
车辆公钥发送模块501,用于生成车辆公私钥对并将车辆公钥发送至服务器端;
服务器公钥接收模块502,用于接收服务器端返回的服务器公钥;
车辆共享密钥模块503,用于通过所述服务器公钥和车辆私钥生成车辆共享密钥。
OTA升级包的加密密钥即服务器共享密钥通过车辆公钥与服务器的私钥计算得到,加密密钥不通过网络传输,避免了通过网络传输泄漏加密密钥的风险,增强了安全性,解决了现有的加密密钥在网络中传输,导致加密密钥具有泄漏风险的问题,并且每次OTA升级都生成新的共享密钥,而不预置固定密钥,极大增加了OTA升级的保密性。
本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使所述电子设备执行实施例1所述的车辆OTA升级方法。
本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行实施例1所述的车辆OTA升级方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本文发布于:2023-04-14 19:29:07,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/3/86804.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |