CN108241517A - 一种软件升级方法、客户端及电子设备 - Google Patents

一种软件升级方法、客户端及电子设备 Download PDF

Info

Publication number
CN108241517A
CN108241517A CN201810155242.6A CN201810155242A CN108241517A CN 108241517 A CN108241517 A CN 108241517A CN 201810155242 A CN201810155242 A CN 201810155242A CN 108241517 A CN108241517 A CN 108241517A
Authority
CN
China
Prior art keywords
client
upgrade package
server
shared secret
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810155242.6A
Other languages
English (en)
Other versions
CN108241517B (zh
Inventor
周志刚
张文明
陈少杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Henan Youster Electronic Technology Co ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810155242.6A priority Critical patent/CN108241517B/zh
Publication of CN108241517A publication Critical patent/CN108241517A/zh
Application granted granted Critical
Publication of CN108241517B publication Critical patent/CN108241517B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种软件升级方法、客户端及电子设备。本发明实施例方法包括:在客户端登录服务平台对应的服务器时,生成第一共享秘钥;向服务器发起软件更新请求;接收服务器下发的目标软件升级包地址加密信息,目标软件升级包地址加密信息为服务器根据第二共享秘钥加密目标软件升级包地址信息得到的,第一共享秘钥和第二共享秘钥的值相同;根据第一共享秘钥解密目标软件升级包地址加密信息得到目标软件升级包地址信息,并根据目标软件升级包地址信息下载软件升级包。本发明实施例中在客户端软件更新过程中,通过客户端与服务器交互增加共享秘钥鉴权的逻辑,保障客户端是合法的客户端,防止黑客进行篡改,提高了软件更新的安全性。

Description

一种软件升级方法、客户端及电子设备
技术领域
本发明涉及移动终端技术领域,特别涉及一种软件升级方法、客户端及电子设备。
背景技术
目前,随着软件开发的发展,软件的更新也是比较重要的一个方面。在一款软件的生命周期内,免不了要增加新功能,修复旧bug(漏洞)。而每款软件都会提供在线更新的功能,方便用户在软件内就能第一时间升级到最新的版本。
然而在线更新如果不考虑安全方面的考虑就存在可能被黑客所利用,用于传播病毒,广告等信息,给软件厂商带来巨大的损失。
发明内容
本发明实施例提供了一种软件升级方法、客户端及电子设备,以解决目前软件更新容易被黑客所利用,用于传播病毒,广告等信息,给软件厂商带来巨大的损失的问题。
第一方面,本申请提供了一种软件升级方法,该方法包括:
在客户端登录服务平台对应的服务器时,所述客户端生成第一共享秘钥;
所述客户端向服务器发起软件更新请求;
所述客户端接收所述服务器下发的目标软件升级包地址加密信息,所述目标软件升级包地址加密信息为所述服务器根据所述第二共享秘钥加密目标软件升级包地址信息得到的,所述第一共享秘钥和所述第二共享秘钥的值相同;
所述客户端根据所述第一共享秘钥解密所述目标软件升级包地址加密信息得到所述目标软件升级包地址信息,并根据所述目标软件升级包地址信息下载目标软件升级包。
进一步的,所述客户端生成第一共享秘钥,包括:
所述客户端生成配对的第一公钥和第一私钥;
所述客户端接收服务器生成的第二公钥,并根据所述第二公钥和所述第一私钥生成第一共享秘钥;
所述客户端将所述第一公钥发送到所述服务器,以使得所述服务器根据所述第一公钥和与所述第二公钥配对的第二私钥生成所述第二共享秘钥。
进一步的,所述客户端向服务器发起软件更新请求,具体包括:
所述客户端获取参数时间戳、客户端对应的用户登录信息、客户端的唯一标识信息以及客户端软件的版本号;
所述客户端利用AES加密算法及所述第一共享秘钥计算参数时间戳、客户端对应的用户登录信息、客户端的唯一标识信息以及客户端软件的版本号对应的第一KEY值;
所述客户端向所述服务器发送软件更新请求,所述软件更新请求中包括所述第一KEY值、所述参数时间戳、所述客户端对应的用户登录信息、所述客户端的唯一标识信息以及所述客户端软件的版本号。
进一步的,所述服务器在确定所述第一KEY值与所述服务器自身预先得到的第二KEY值一致时,确定所述客户端的更新请求合法,其中,所述第二KEY值为所述服务器利用AES加密算法及所述第二共享秘钥计算所述参数时间戳、所述客户端对应的用户登录信息、所述客户端的唯一标识信息以及客户端软件的版本号。
进一步的,所述目标软件升级包地址加密信息中还包括待下载目标软件升级包的第一哈希值;所述客户端根据所述第一共享秘钥解密所述目标软件升级包地址加密信息得到所述目标软件升级包地址信息,并根据所述目标软件升级包地址信息进行软件升级包括:
所述客户端根据所述第一共享秘钥解密所述目标软件升级包地址加密信息,得到所述第一哈希值和所述目标软件升级包下载地址信息;
所述客户端根据所述目标软件升级包地址信息下载所述目标软件升级包。
进一步的,所述方法还包括:
在所述客户端下载所述目标软件升级包之后,计算所述目标软件升级包的第二哈希值;
所述客户端比较所述第一哈希值和所述第二哈希值是否匹配,若是,则确定所述目标软件升级包为合法软件升级包。
第二方面,本申请提供一种客户端,应用于电子设备,该客户端包括:
生成模块,用于在客户端登录服务平台对应的服务器时,生成第一共享秘钥;
发送模块,用于向服务器发起软件更新请求;
接收模块,用于接收所述服务器下发的目标软件升级包地址加密信息,所述目标软件升级包地址加密信息为所述服务器根据所述第二共享秘钥加密目标软件升级包地址信息得到的,所述第一共享秘钥和所述第二共享秘钥的值相同;
下载模块,用于根据所述第一共享秘钥解密所述目标软件升级包地址加密信息得到所述目标软件升级包地址信息,并根据所述目标软件升级包地址信息下载目标软件升级包。
进一步的,所述生成模块具体用于:
生成配对的第一公钥和第一私钥;
接收服务器生成的第二公钥,并根据所述第二公钥和所述第一私钥生成第一共享秘钥;
将所述第一公钥发送到所述服务器,以使得所述服务器根据所述第一公钥和与所述第二公钥配对的第二私钥生成所述第二共享秘钥。
进一步的,所述发送模块具体用于:
获取参数时间戳、客户端对应的用户登录信息、客户端的唯一标识信息以及客户端软件的版本号;
利用AES加密算法及所述第一共享秘钥计算参数时间戳、客户端对应的用户登录信息、客户端的唯一标识信息以及客户端软件的版本号对应的第一KEY值;
向所述服务器发送软件更新请求,所述软件更新请求中包括所述第一KEY值、所述参数时间戳、所述客户端对应的用户登录信息、所述客户端的唯一标识信息以及所述客户端软件的版本号。
进一步的,所述服务器在确定所述第一KEY值与所述服务器自身预先得到的第二KEY值一致时,确定所述客户端的更新请求合法,其中,所述第二KEY值为所述服务器利用AES加密算法及所述第二共享秘钥计算所述参数时间戳、所述客户端对应的用户登录信息、所述客户端的唯一标识信息以及客户端软件的版本号。
第三方面,本发明还提供一种电子设备,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现第一方面中任一所述的方法。
第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一所述的方法。
本发明实施例通过在客户端登录服务平台对应的服务器时,生成第一共享秘钥;向服务器发起软件更新请求;接收服务器下发的目标软件升级包地址加密信息,目标软件升级包地址加密信息为服务器根据第二共享秘钥加密目标软件升级包地址信息得到的,第一共享秘钥和第二共享秘钥的值相同;根据第一共享秘钥解密目标软件升级包地址加密信息得到目标软件升级包地址信息,并根据目标软件升级包地址信息下载软件升级包。本发明实施例中在客户端软件更新过程中,通过客户端与服务器交互增加共享秘钥鉴权的逻辑,保障客户端是合法的客户端,防止黑客进行篡改,提高了软件更新的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中软件升级方法的一个实施例示意图;
图2是本发明实施例中图1所示实施例中步骤S101的一个实施例示意图;
图3是本发明实施例中图2所示实施例中步骤S1011的一个实施例示意图;
图4是本发明实施例中中图1所示实施例中步骤S102的一个实施例示意图;
图5是本发明实施例中软件升级方法的另一个实施例示意图;
图6是本发明实施例中客户端的一个实施例示意图;
图7是本发明实施例中电子设备的一个实施例示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例中软件升级方法应用于,该客户端位于电子设备中,该电子设备可以是手机、平板电脑或者个人电脑等电子设备,也可以是未来出现有显示屏的电子设备等。
请参阅图1,本发明实施例中软件升级方法一个实施例包括:
S101、在客户端登录服务平台对应的服务器时,客户端生成第一共享秘钥;
具体的,该服务器为服务平台对应的服务器,例如直播平台对应的服务器,该服务平台也可以是第三方应用服务平台对应的服务器,或者第三方应用商城对应的服务器(如应用宝,豌豆荚等)。
S102、客户端向服务器发起软件更新请求;
S103、客户端接收服务器下发的目标软件升级包地址加密信息;
本实施例中,在服务器接收到客户端发送的软件更新请求后,会在服务器确定客户端的更新请求是否合法,在服务器确定客户端的更新请求合法时,客户端接收服务器下发的目标软件升级包地址加密信息。
其中,目标软件升级包地址加密信息为服务器根据所述第二共享秘钥加密目标软件升级包地址信息得到的,所述第一共享秘钥和所述第二共享秘钥的值相同;该目标软件升级包地址信息为客户端需要的目标软件包升级地址信息。
S104、客户端根据第一共享秘钥解密目标软件升级包地址加密信息得到目标软件升级包地址信息,并根据目标软件升级包地址信息下载目标软件升级包。
本发明实施例通过在客户端登录服务平台对应的服务器时,生成第一共享秘钥;向服务器发起软件更新请求;接收服务器下发的目标软件升级包地址加密信息,目标软件升级包地址加密信息为服务器根据第二共享秘钥加密目标软件升级包地址信息得到的,第一共享秘钥和第二共享秘钥的值相同;根据第一共享秘钥解密目标软件升级包地址加密信息得到目标软件升级包地址信息,并根据目标软件升级包地址信息下载软件升级包。本发明实施例中在客户端软件更新过程中,通过客户端与服务器交互增加共享秘钥鉴权的逻辑,保障客户端是合法的客户端,防止黑客进行篡改,提高了软件更新的安全性。
如图2所示,在本发明一些实施例中,上述步骤S101中的所述客户端生成与所述服务器侧匹配的第一共享秘钥具体可以包括:
S1011、客户端生成配对的第一公钥和第一私钥;
具体的,本发明实施例中,当客户端每次登陆服务器时,均可以重新生成一对公钥和私钥信息。这样每次登陆则都会重新生成一对秘钥,可以保障每次登陆的秘钥信息都不一样,从而提高整个数据传输的安全性。
如图3所示,上述客户端生成配对的第一公钥和第一私钥具体又可以包括:
S10111、生成随机数据;
具体实现方式为:
Randdata=rand();
即通过调用系统函数rand来生成一段随机数据Randdata。
S10112、计算所述随机数据的哈希值作为所述第一私钥;
具体实现方式为:
APrivatekey=Md5.Create(Randdata)
即通过调用Md5函数的接口Md5.Create来对随机数据计算其Md5值,从而得到了第一私钥APrivatekey。需要说明的是,此处Md5仅为举例,也可以是使用其他哈希函数,如SHA-1等,具体不做限定。当然,此处优选最新加密最安全的哈希算法。
S10113、利用非对称加密算法根据所述第一私钥生成所述第一公钥。
具体实现方式为:
APublickey=RSA.CreatePair(APrivatekey);
即第一公钥APublickey是调用RSA的生成配对钥匙接口RSA.CreatePair来生成的,从而最终客户端则生成了第一公钥APublickey和第一私钥APrivatekey。
需要说明的是,本发明实施例中所述非对称加密算法还可以是RSA外的其他算法,如Elgamal算法、背包算法、Rabin算法、D-H算法、ECC(椭圆曲线加密算法)等,此处不作限定,当然,此处优选最新加密最安全的非对称加密算法。
S1012、客户端接收服务器生成的第二公钥,并根据第二公钥和第一私钥生成第一共享秘钥。
同样的,服务器也会依照上述客户端生成第一公钥和第一私钥的类似方式来生成一对公钥和私钥信息,即第二公钥和第二私钥,该第二公钥和第二私钥是针对本实施例中该客户端生成的,因为服务器的生成第二公钥和第二私钥时需要依据客户端对应的用户身份证明(User Identification,UID)以及随机数据来生成私钥,从而尽可能保障不同属性的客户端(例如直播平台中不同房间的客户端)的私钥不一样。具体实现方式如下:
(1)生成随机数据
Randdata=rand();
通过调用系统函数rand来生成一段随机数据Randdata。
(2)依据UID和随机数生成其哈希值做为第二私钥。
ServerPrivatekey=Md5.Create(Randdata+UID)
通过调用Md5函数的接口Md5.Create来对随机数据和用户的UID拼接到一起计算其Md5值,从而得到了第二私钥。同样的,此处Md5仅为举例,也可以是使用其他哈希函数,如SHA-1等,具体不做限定。当然,此处优选最新加密最安全的哈希算法。
(3)计算公钥。
ServerPublickey=RSA.CreatePair(ServerPrivatekey);
即第二公钥ServerPublickey是通过调用RSA的生成配对钥匙接口RSA.CreatePair来生成的,从而最终客户端则生成了第二公钥ServerPublickey和第二私钥ServerPrivatekey。至此,通过这个步骤就实现了服务器对每个客户端生成一个公钥和私钥信息。
S1013、客户端将第一公钥发送到服务器,以使得服务器根据第一公钥和与第二公钥配对的第二私钥生成第二共享秘钥。
然后服务器和客户端会交换各自的公钥信息,来生成一个共享的秘钥,并且客户端和服务器生成的共享秘钥是同一个值。具体如步骤S1012中客户端生成第一共享秘钥,S1013中服务器生成第二共享秘钥,具体实现如下:
(1)互换公钥。
服务器将服务器的公钥ServerPublickey发送给客户端。
客户端将客户端的公钥ClientPublickey发送给服务器。
(2)客户端生成共享秘钥。
ShareKey=RSA.CreateShareKey(ServerPublickey,ClientPrivatekey);
(3)服务器生成共享秘钥。
ShareKey=RSA.CreateShareKey(ClientPublickey,ServerPrivatekey);
从而2个ShareKey的值是一致的,通过这个步骤就完成了服务器和客户端都生成了相同值的共享秘钥(即第一共享秘钥和第二共享秘钥)。
本发明实施例中为了进一步的考虑到软件更新的多样性,不同的客户端软件版本需要更新下载的更新包是不一样的,同时为了对客户端的请求量进行分流,所以是会存在更新包下载地址有多个,服务器依据客户端的请求来下发更新包的下载地址,同时还包括更新包的校验值(可以是哈希值,如MD5值),然后客户端去下载更新包,并对更新包进行校验值计算与服务器下发的校验值进行校验。为了校验请求更新地址的客户端是一个合法的客户端,本发明实施例中则在请求接口中增加了鉴权值的计算,以提高请求接口的安全性,具体实现如下:
在请求服务器更新包地址的请求接口中,则会携带一个加密的鉴权KEY值,此值则是通过一定算法计算得到,并且每个客户端每一个时刻此值都不一样,那么黑客就比较难的伪造此值,黑客如果通过网络抓包获取到此值,直接填入此值来请求,对于服务器是校验不通过的,因为鉴权KEY对于每个时刻都不一样,每个客户端不一样。从而提高此接口的安全性。具体的,即如图4所示,上述步骤S102具体还可以包括:
S1021、客户端获取参数时间戳、客户端对应的用户登录信息、客户端的唯一标识信息以及客户端软件的版本号;
具体的,客户端获取参数时间戳timestamp、客户端对应的用户登录信息token、客户端的唯一标识信息DID、客户端软件的版本号version。其中,DID全称DeviceIdentification,又称Device ID,是针对设备本身标识的代码,即常说的设备ID。这个ID标识主要区别同类设备的不同型号,一般由技术发明厂商按PCI规范命名,不同厂商的设备可以有重名(由于不同厂商都有唯一的VID,因此并不会混淆身份)。
S1022、客户端利用AES加密算法及第一共享秘钥计算参数时间戳、客户端对应的用户登录信息、客户端的唯一标识信息以及客户端软件的版本号对应的第一KEY值;
具体的,第一KEY值的计算公式具体可以如下:
EncryptKey=AES.Encrypt(timestamp+token+Uid+did+version,ShareKey);
KEY=Md5.Create(EncryptKey)
其中,此处KEY值为第一KEY值,EncryptKey为中间运算值,AES为加密算法,timestamp、token、did、version为步骤S1021中获取的参数,UID为客户端对应的UID,ShareKey为第一共享秘钥。
S1023、客户端向所述服务器发送软件更新请求;
其中,该软件更新请求中包括所述第一KEY值、所述参数时间戳、所述客户端对应的用户登录信息、所述客户端的唯一标识信息以及所述客户端软件的版本号。服务器收到客户端的请求后,则会根据这些相同的信息及自己已经知晓的第二共享秘钥计算得到第二KEY值,服务器会根据第二KEY值对软件更新请求中的第一KEY值进行合法性校验,以确定客户端是一个合法的客户端。
进一步的,服务器在确定所述第一KEY值与所述服务器自身预先得到的第二KEY值一致时,确定客户端的更新请求合法,如果合法,服务器会依据客户端上报的软件版本号以及当前各个更新包接口的网络请求压力来提供给客户端一个软件升级包的下载地址。具体则假设软件升级包下载地址为:
url=http://219.138.21.91/douyucdn.cn/5a548c0d04.data
那么服务器则会使用加密算法和第二共享秘钥来将此地址加密后下发给客户端。
另外为了进一步保障安全性,服务器还可以计算软件升级包的哈希值(例如MD5值)同时下发给客户端。此时即所述目标软件升级包地址加密信息中还包括待下载软件升级包的第一哈希值,服务器下发目标软件升级包地址及目标软件升级包哈希值的方式具体实现方式如下:
EncryptUrl=AES.Encrypt(timestamp+url+md5,ShareKey);
服务器则通过将此加密后的EncryptUrl下方给客户端,其中,url为目标软件升级包地址,md5为目标软件升级包的第一哈希值,此处哈希值以MD5值举例,timestamp为参数时间戳,ShareKey为服务器计算的第二共享秘钥。
此时,如图5所示,步骤S104具体包括:
S1041、客户端根据第一共享秘钥解密目标软件升级包地址加密信息,得到第一哈希值和目标软件升级包下载地址信息;
具体的,客户端接收目标软件升级包地址加密信息后,由于第一共享秘钥和第二共享秘钥相同,客户端即可以通过第一共享秘钥进行解密,此时只有合法的客户端才能够正确的解密服务器下发的更新包地址。具体实现如下:
timestamp+url+md5=AES.Decrypt(EncryptUrl,ShareKey);
客户端通过解密后即可得到目标软件升级包的下载地址url、目标软件升级包的第一哈希值。
S1042、客户端根据目标软件升级包地址信息下载目标软件升级包。
具体的,从而客户端可以使用步骤S1041中解密得到的这个url去下载目标软件升级包。
此时,所述方法还包括:
S105、在客户端下载目标软件升级包之后,计算目标软件升级包的第二哈希值;
具体的,客户端在下载目标软件升级包之后,利用服务器计算第一哈希值相同的哈希算法,计算目标软件升级包的第二哈希值。
S106、客户端比较第一哈希值和第二哈希值是否匹配,若是,则确定所述目标软件升级包为合法软件升级包。
具体的,客户端比较第一哈希值和第二哈希值是否匹配,只有匹配该目标软件升级包才是合法软件升级包,否则是非法的软件升级包,客户端可以丢弃该目标软件升级包,不进行升级。
下面介绍本发明实施例中的客户端的实施例。
如图6所示,为本发明实施例中提供一种客户端,应用于电子设备,该客户端包括:
生成模块601,用于在客户端登录服务平台对应的服务器时,生成第一共享秘钥;
发送模块602,用于向服务器发起软件更新请求;
接收模块603,用于接收所述服务器下发的目标软件升级包地址加密信息,所述目标软件升级包地址加密信息为所述服务器根据所述第二共享秘钥加密目标软件升级包地址信息得到的,所述第一共享秘钥和所述第二共享秘钥的值相同;
下载模块604,用于根据所述第一共享秘钥解密所述目标软件升级包地址加密信息得到所述目标软件升级包地址信息,并根据所述目标软件升级包地址信息下载目标软件升级包。
进一步的,所述生成模块601具体用于:
生成配对的第一公钥和第一私钥;
接收服务器生成的第二公钥,并根据所述第二公钥和所述第一私钥生成第一共享秘钥;
将所述第一公钥发送到所述服务器,以使得所述服务器根据所述第一公钥和与所述第二公钥配对的第二私钥生成所述第二共享秘钥。
进一步的,所述发送模块602具体用于:
获取参数时间戳、客户端对应的用户登录信息、客户端的唯一标识信息以及客户端软件的版本号;
利用AES加密算法及所述第一共享秘钥计算参数时间戳、客户端对应的用户登录信息、客户端的唯一标识信息以及客户端软件的版本号对应的第一KEY值;
向所述服务器发送软件更新请求,所述软件更新请求中包括所述第一KEY值、所述参数时间戳、所述客户端对应的用户登录信息、所述客户端的唯一标识信息以及所述客户端软件的版本号。
进一步的,所述服务器在确定所述第一KEY值与所述服务器自身预先得到的第二KEY值一致时,确定所述客户端的更新请求合法,其中,所述第二KEY值为所述服务器利用AES加密算法及所述第二共享秘钥计算所述参数时间戳、所述客户端对应的用户登录信息、所述客户端的唯一标识信息以及客户端软件的版本号。
本发明实施例中还提供一种电子设备,请参见图7,所述电子设备包括:
存储器701,处理器702及存储在所述存储器上并可在所述处理器上运行的计算机程序703,其中,所述处理器702执行所述计算机程序703时可以实现上述软件升级方法。
需要说明的是,本申请涉及的电子设备包括但不限于是:移动终端(手机、智能手机、PAD、笔记本电脑等等)、固定终端(计算机)。
为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。存储器701可用于存储计算机程序703,上述计算机程序包括软件程序、模块和数据,处理器702通过运行执行存储在存储器701的计算机程序703,从而执行电子设备的各种功能应用以及数据处理。
在具体的实施过程中,存储器701可用于存储软件程序以及模块,处理器702通过运行存储在存储器701的软件程序以及模块,从而执行电子设备的各种功能应用以及数据处理。存储器701可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(例如游戏类应用程序、聊天类应用程序)等;存储数据区可存储根据电子设备的使用所创建的数据(游戏配置数据、音频数据)等。此外,存储器701可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器702是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器701内的软件程序和/或模块,以及调用存储在存储器701内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器702可包括一个或多个处理单元;优选的,处理器702可集成应用处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。
本发明实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的软件升级方法的部分或全部步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种软件升级方法,其特征在于,所述方法包括:
在客户端登录服务平台对应的服务器时,所述客户端生成第一共享秘钥;
所述客户端向服务器发起软件更新请求;
所述客户端接收所述服务器下发的目标软件升级包地址加密信息,所述目标软件升级包地址加密信息为所述服务器根据所述第二共享秘钥加密目标软件升级包地址信息得到的,所述第一共享秘钥和所述第二共享秘钥的值相同;
所述客户端根据所述第一共享秘钥解密所述目标软件升级包地址加密信息得到所述目标软件升级包地址信息,并根据所述目标软件升级包地址信息下载目标软件升级包。
2.根据权利要求1所述的方法,其特征在于,所述客户端生成第一共享秘钥,包括:
所述客户端生成配对的第一公钥和第一私钥;
所述客户端接收服务器生成的第二公钥,并根据所述第二公钥和所述第一私钥生成第一共享秘钥;
所述客户端将所述第一公钥发送到所述服务器,以使得所述服务器根据所述第一公钥和与所述第二公钥配对的第二私钥生成所述第二共享秘钥。
3.根据权利要求1所述的方法,其特征在于,所述客户端向服务器发起软件更新请求,包括:
所述客户端获取参数时间戳、客户端对应的用户登录信息、客户端的唯一标识信息以及客户端软件的版本号;
所述客户端利用AES加密算法及所述第一共享秘钥计算参数时间戳、客户端对应的用户登录信息、客户端的唯一标识信息以及客户端软件的版本号对应的第一KEY值;
所述客户端向所述服务器发送软件更新请求,所述软件更新请求中包括所述第一KEY值、所述参数时间戳、所述客户端对应的用户登录信息、所述客户端的唯一标识信息以及所述客户端软件的版本号。
4.根据权利要求3所述的方法,其特征在于,所述服务器在确定所述第一KEY值与所述服务器自身预先得到的第二KEY值一致时,确定所述客户端的更新请求合法,其中,所述第二KEY值为所述服务器利用AES加密算法及所述第二共享秘钥计算所述参数时间戳、所述客户端对应的用户登录信息、所述客户端的唯一标识信息以及客户端软件的版本号。
5.根据权利要求4所述的方法,其特征在于,所述目标软件升级包地址加密信息中还包括待下载软件升级包的第一哈希值;所述客户端根据所述第一共享秘钥解密所述目标软件升级包地址加密信息得到所述目标软件升级包地址信息,并根据所述目标软件升级包地址信息进行软件升级包括:
所述客户端根据所述第一共享秘钥解密所述目标软件升级包地址加密信息,得到所述第一哈希值和所述目标软件升级包下载地址信息;
所述客户端根据所述目标软件升级包地址信息下载所述目标软件升级包。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述客户端下载所述目标软件升级包之后,计算所述目标软件升级包的第二哈希值;
所述客户端比较所述第一哈希值和所述第二哈希值是否匹配,若是,则确定所述目标软件升级包为合法软件升级包。
7.一种客户端,其特征在于,应用于电子设备,所述客户端包括:
生成模块,用于在客户端登录服务平台对应的服务器时,生成第一共享秘钥;
发送模块,用于向服务器发起软件更新请求;
接收模块,用于接收所述服务器下发的目标软件升级包地址加密信息,所述目标软件升级包地址加密信息为所述服务器根据所述第二共享秘钥加密目标软件升级包地址信息得到的,所述第一共享秘钥和所述第二共享秘钥的值相同;
下载模块,用于根据所述第一共享秘钥解密所述目标软件升级包地址加密信息得到所述软件升级包地址信息,并根据所述目标软件升级包地址信息下载目标软件升级包。
8.根据权利要求7所述的客户端,其特征在于,所述生成模块具体用于:
生成配对的第一公钥和第一私钥;
接收服务器生成的第二公钥,并根据所述第二公钥和所述第一私钥生成第一共享秘钥;
将所述第一公钥发送到所述服务器,以使得所述服务器根据所述第一公钥和与所述第二公钥配对的第二私钥生成所述第二共享秘钥。
9.根据权利要求7所述的客户端,其特征在于,所述发送模块具体用于:
获取参数时间戳、客户端对应的用户登录信息、客户端的唯一标识信息以及客户端软件的版本号;
利用AES加密算法及所述第一共享秘钥计算参数时间戳、客户端对应的用户登录信息、客户端的唯一标识信息以及客户端软件的版本号对应的第一KEY值;
向所述服务器发送软件更新请求,所述软件更新请求中包括所述第一KEY值、所述参数时间戳、所述客户端对应的用户登录信息、所述客户端的唯一标识信息以及所述客户端软件的版本号。
10.一种电子设备,其特征在于,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现权利要求1至6任一所述的方法。
CN201810155242.6A 2018-02-23 2018-02-23 一种软件升级方法、客户端及电子设备 Active CN108241517B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810155242.6A CN108241517B (zh) 2018-02-23 2018-02-23 一种软件升级方法、客户端及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810155242.6A CN108241517B (zh) 2018-02-23 2018-02-23 一种软件升级方法、客户端及电子设备

Publications (2)

Publication Number Publication Date
CN108241517A true CN108241517A (zh) 2018-07-03
CN108241517B CN108241517B (zh) 2021-02-02

Family

ID=62698936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810155242.6A Active CN108241517B (zh) 2018-02-23 2018-02-23 一种软件升级方法、客户端及电子设备

Country Status (1)

Country Link
CN (1) CN108241517B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032650A (zh) * 2018-08-02 2018-12-18 郑州云海信息技术有限公司 一种软件升级方法、装置及计算机可读存储介质
CN109872136A (zh) * 2019-01-10 2019-06-11 深圳银链科技有限公司 隔离数字钱包的升级方法、系统、冷钱包、热钱包
CN110493644A (zh) * 2019-08-21 2019-11-22 青岛海信电器股份有限公司 电视应用升级方法、电视终端及服务器
CN110597538A (zh) * 2019-09-03 2019-12-20 广州小鹏汽车科技有限公司 一种基于ota升级系统的软件升级方法和ota升级系统
CN110727455A (zh) * 2019-09-12 2020-01-24 深圳市元征科技股份有限公司 软件远程升级方法及相关设备
CN111124447A (zh) * 2019-11-29 2020-05-08 山东英信计算机技术有限公司 一种平台管理方法、系统、设备及计算机可读存储介质
CN111541758A (zh) * 2020-04-17 2020-08-14 支付宝(杭州)信息技术有限公司 页面更新方法及装置
CN111756522A (zh) * 2020-06-28 2020-10-09 中国平安财产保险股份有限公司 数据处理方法及系统
CN112416391A (zh) * 2020-11-16 2021-02-26 深圳市有方科技股份有限公司 系统升级方法、装置、计算机设备和存储介质
CN112653729A (zh) * 2020-12-08 2021-04-13 孙继国 物联网终端的共享升级方法、装置、物联网终端及介质
CN112788153A (zh) * 2021-01-29 2021-05-11 广州技象科技有限公司 一种物联网设备升级管理方法、装置、设备及存储介质
CN112925532A (zh) * 2019-12-06 2021-06-08 北京华为数字技术有限公司 一种软件安装方法、信息发送方法及装置
CN114022964A (zh) * 2021-09-24 2022-02-08 北京中交国通智能交通系统技术有限公司 Etc应用秘钥更新方法、装置及系统
CN114721678A (zh) * 2021-01-05 2022-07-08 广州视源电子科技股份有限公司 系统软件升级方法、装置、服务器及存储介质
WO2022226938A1 (zh) * 2021-04-29 2022-11-03 华为技术有限公司 软件升级方法和相关产品
CN115333937A (zh) * 2022-06-27 2022-11-11 中国第一汽车股份有限公司 数据下载方法、装置及电子设备
CN116232766A (zh) * 2023-05-06 2023-06-06 中国第一汽车股份有限公司 一种基于ota的数据加密系统及方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1558594A (zh) * 2004-01-14 2004-12-29 哈尔滨工业大学 一种电子文档的保密、认证、权限管理与扩散控制的处理方法
CN1700765A (zh) * 2005-06-30 2005-11-23 广东省电信有限公司研究院 一种用于机顶盒的私钥的获取方法
CN101437224A (zh) * 2008-12-22 2009-05-20 中兴通讯股份有限公司 移动终端软件的更新方法和移动终端
CN101984406A (zh) * 2010-11-01 2011-03-09 中兴通讯股份有限公司 一种通过无线局域网对终端进行升级的方法和系统
CN102868731A (zh) * 2012-08-27 2013-01-09 济南大学 软件在线升级及加速下载的方法和装置
CN103888523A (zh) * 2014-03-11 2014-06-25 北京京东尚科信息技术有限公司 一种用于确定软件版本升级文件下载地址的方法、装置及系统
CN104090790A (zh) * 2014-06-30 2014-10-08 飞天诚信科技股份有限公司 一种安全终端的双芯片方案的固件更新方法
WO2015061941A1 (zh) * 2013-10-28 2015-05-07 华为终端有限公司 一种密钥配置方法和装置
CN105656859A (zh) * 2014-11-18 2016-06-08 航天信息股份有限公司 税控设备软件安全在线升级方法及系统
CN105847005A (zh) * 2016-03-14 2016-08-10 美的集团股份有限公司 加密装置和方法
CN106604140A (zh) * 2016-12-20 2017-04-26 四川长虹电器股份有限公司 一种动态更新智能电视应用数据的方法
CN107295085A (zh) * 2017-06-28 2017-10-24 广东欧珀移动通信有限公司 应用信息处理及下载方法、服务器、客户端及终端设备

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1558594A (zh) * 2004-01-14 2004-12-29 哈尔滨工业大学 一种电子文档的保密、认证、权限管理与扩散控制的处理方法
CN1700765A (zh) * 2005-06-30 2005-11-23 广东省电信有限公司研究院 一种用于机顶盒的私钥的获取方法
CN101437224A (zh) * 2008-12-22 2009-05-20 中兴通讯股份有限公司 移动终端软件的更新方法和移动终端
CN101984406A (zh) * 2010-11-01 2011-03-09 中兴通讯股份有限公司 一种通过无线局域网对终端进行升级的方法和系统
CN102868731A (zh) * 2012-08-27 2013-01-09 济南大学 软件在线升级及加速下载的方法和装置
WO2015061941A1 (zh) * 2013-10-28 2015-05-07 华为终端有限公司 一种密钥配置方法和装置
CN103888523A (zh) * 2014-03-11 2014-06-25 北京京东尚科信息技术有限公司 一种用于确定软件版本升级文件下载地址的方法、装置及系统
CN104090790A (zh) * 2014-06-30 2014-10-08 飞天诚信科技股份有限公司 一种安全终端的双芯片方案的固件更新方法
CN105656859A (zh) * 2014-11-18 2016-06-08 航天信息股份有限公司 税控设备软件安全在线升级方法及系统
CN105847005A (zh) * 2016-03-14 2016-08-10 美的集团股份有限公司 加密装置和方法
CN106604140A (zh) * 2016-12-20 2017-04-26 四川长虹电器股份有限公司 一种动态更新智能电视应用数据的方法
CN107295085A (zh) * 2017-06-28 2017-10-24 广东欧珀移动通信有限公司 应用信息处理及下载方法、服务器、客户端及终端设备

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032650A (zh) * 2018-08-02 2018-12-18 郑州云海信息技术有限公司 一种软件升级方法、装置及计算机可读存储介质
CN109872136A (zh) * 2019-01-10 2019-06-11 深圳银链科技有限公司 隔离数字钱包的升级方法、系统、冷钱包、热钱包
CN109872136B (zh) * 2019-01-10 2021-08-03 深圳银链科技有限公司 隔离数字钱包的升级方法、系统、冷钱包、热钱包
CN110493644A (zh) * 2019-08-21 2019-11-22 青岛海信电器股份有限公司 电视应用升级方法、电视终端及服务器
CN110597538A (zh) * 2019-09-03 2019-12-20 广州小鹏汽车科技有限公司 一种基于ota升级系统的软件升级方法和ota升级系统
CN110727455A (zh) * 2019-09-12 2020-01-24 深圳市元征科技股份有限公司 软件远程升级方法及相关设备
CN111124447A (zh) * 2019-11-29 2020-05-08 山东英信计算机技术有限公司 一种平台管理方法、系统、设备及计算机可读存储介质
CN112925532A (zh) * 2019-12-06 2021-06-08 北京华为数字技术有限公司 一种软件安装方法、信息发送方法及装置
CN112925532B (zh) * 2019-12-06 2023-07-14 北京华为数字技术有限公司 一种软件安装方法、信息发送方法及装置
CN111541758A (zh) * 2020-04-17 2020-08-14 支付宝(杭州)信息技术有限公司 页面更新方法及装置
CN111756522A (zh) * 2020-06-28 2020-10-09 中国平安财产保险股份有限公司 数据处理方法及系统
CN111756522B (zh) * 2020-06-28 2023-06-23 中国平安财产保险股份有限公司 数据处理方法及系统
CN112416391A (zh) * 2020-11-16 2021-02-26 深圳市有方科技股份有限公司 系统升级方法、装置、计算机设备和存储介质
CN112653729A (zh) * 2020-12-08 2021-04-13 孙继国 物联网终端的共享升级方法、装置、物联网终端及介质
CN112653729B (zh) * 2020-12-08 2022-12-02 孙继国 物联网终端的共享升级方法、装置、物联网终端及介质
CN114721678A (zh) * 2021-01-05 2022-07-08 广州视源电子科技股份有限公司 系统软件升级方法、装置、服务器及存储介质
CN112788153A (zh) * 2021-01-29 2021-05-11 广州技象科技有限公司 一种物联网设备升级管理方法、装置、设备及存储介质
CN112788153B (zh) * 2021-01-29 2023-04-28 广州技象科技有限公司 一种物联网设备升级管理方法、装置、设备及存储介质
WO2022226938A1 (zh) * 2021-04-29 2022-11-03 华为技术有限公司 软件升级方法和相关产品
CN114022964A (zh) * 2021-09-24 2022-02-08 北京中交国通智能交通系统技术有限公司 Etc应用秘钥更新方法、装置及系统
CN114022964B (zh) * 2021-09-24 2024-05-17 北京中交国通智能交通系统技术有限公司 Etc应用秘钥更新方法、装置及系统
CN115333937A (zh) * 2022-06-27 2022-11-11 中国第一汽车股份有限公司 数据下载方法、装置及电子设备
CN115333937B (zh) * 2022-06-27 2023-09-01 中国第一汽车股份有限公司 数据下载方法、装置及电子设备
CN116232766B (zh) * 2023-05-06 2023-07-18 中国第一汽车股份有限公司 一种基于ota的数据加密系统及方法
CN116232766A (zh) * 2023-05-06 2023-06-06 中国第一汽车股份有限公司 一种基于ota的数据加密系统及方法

Also Published As

Publication number Publication date
CN108241517B (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
CN108241517A (zh) 一种软件升级方法、客户端及电子设备
CN105553951B (zh) 数据传输方法和装置
CN110401629B (zh) 一种激活授权的方法及相关装置
CN104836784B (zh) 一种信息处理方法、客户端和服务器
CN111131416B (zh) 业务服务的提供方法和装置、存储介质、电子装置
CN110399717B (zh) 密钥获取方法和装置、存储介质及电子装置
CN108347419A (zh) 数据传输方法和装置
CN108848496B (zh) 基于TEE的虚拟eSIM卡的认证方法、TEE终端和管理平台
CN108366057A (zh) 一种数据处理方法、客户端及电子设备
CN108173644A (zh) 数据传输加密方法、装置、存储介质、设备及服务器
CN107800675A (zh) 一种数据传输方法、终端以及服务器
WO2013165651A1 (en) Method and system for activation
CN111130798B (zh) 一种请求鉴权方法及相关设备
CN112291201B (zh) 业务请求的传输方法及装置、电子设备
CN113868672B (zh) 模组无线固件升级方法、安全芯片和无线固件升级平台
CN107801059A (zh) 一种鉴权方法及服务器
CN108197439A (zh) 一种文件加密方法、装置及服务器
CN112600667B (zh) 一种密钥协商方法、装置、设备及存储介质
CN114637987A (zh) 基于平台验证的安全芯片固件下载方法及系统
CN117240625B (zh) 一种涉及防篡改的数据处理方法、装置及电子设备
CN107729760B (zh) 基于Android系统的CSP实现方法及智能终端
CN109409109A (zh) 网络服务中的数据处理方法、装置、处理器及服务器
JP2004005585A (ja) サーバ装置及びプログラム管理システム
KR20190112959A (ko) 암호화 데이터를 이용하는 기계학습 모델 운영방법 및 기계학습 모델 기반 장치
CN108229192A (zh) 一种文件解密方法、装置及客户端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240318

Address after: Building 16, Liandong U-Valley High tech International Enterprise Port, No. 352 Lianhua Street, High tech Zone, Zhengzhou City, Henan Province, 450001

Patentee after: Henan Youster Electronic Technology Co.,Ltd.

Country or region after: China

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

Country or region before: China