CN104135531A - 一种Web软件的升级方法及装置 - Google Patents

一种Web软件的升级方法及装置 Download PDF

Info

Publication number
CN104135531A
CN104135531A CN201410385079.4A CN201410385079A CN104135531A CN 104135531 A CN104135531 A CN 104135531A CN 201410385079 A CN201410385079 A CN 201410385079A CN 104135531 A CN104135531 A CN 104135531A
Authority
CN
China
Prior art keywords
key
sequence sets
encryption
upgrading sequence
upgrading
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
CN201410385079.4A
Other languages
English (en)
Other versions
CN104135531B (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.)
Wuhan Eman Technology Co ltd
Original Assignee
WUHAN EMAN SOFTWARE 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 EMAN SOFTWARE TECHNOLOGY Co Ltd filed Critical WUHAN EMAN SOFTWARE TECHNOLOGY Co Ltd
Priority to CN201410385079.4A priority Critical patent/CN104135531B/zh
Publication of CN104135531A publication Critical patent/CN104135531A/zh
Application granted granted Critical
Publication of CN104135531B publication Critical patent/CN104135531B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及软件升级技术领域,公开了一种Web软件的升级方法及装置。该方法包括:在升级服务器端:由原始升级包生成升级序列集;对原始升级包和升级序列集进行加密,得到加密后的升级包和升级序列集;在本地服务器端:对加密后的升级包和升级序列集进行解密,得到解密后的升级包和升级序列集;将解密后的升级包中包含的文件和解密后的升级序列集中的文件信息进行比较;若不匹配,停止升级;若匹配成功,根据升级文件进行升级。由于本发明在对数据进行传输时,不仅对数据进行了加密处理,降低了数据被篡改的风险;而且还对得到的升级文件的准确性进行了判定,提高了软件升级的安全性。

Description

一种Web软件的升级方法及装置
技术领域
本发明涉及软件升级技术领域,主要适用于Web软件的升级方法及装置。
背景技术
当前的企业资源计划***、制造执行***等生产管理类软件,每次升级都会涉及到数据库备份、web服务器重启及升级失败时的日志查看等一系列的操作。而对于应用到生产环境的web***而言,每次升级都要求升级时间短和升级数据准确。对于企业软件而言,数据是核心竞争力,数据的安全性也是企业最关心的问题。
目前Web软件的升级方式依然遵循传统软件的升级方式,在安全方面缺乏考虑。
传统的Web软件升级方法有两种:
1.基于网络(FTP)方式自动在服务器端下载软件升级包,然后调用工具解析升级包进行升级。
2.在Web软件服务端存入完整升级包,手动调用工具解析升级包进行升级。
以上两种升级方法分别存在以下缺点:
第一种升级方法存在的缺点:
1.在基于网络(FTP)下载升级包之前,没有通过加密Key钥验证升级包是否合法,导致升级包存在非法下载的风险,缺乏安全性;
2.在安装升级包的过程中,升级包没有加密Key钥,导致升级包存在被篡改的风险,缺乏安全性;
第二种升级方法存在的缺点:
1.在每次升级时,都需要手动启动web服务器,而且是否启动成功也无法判断,导致升级不及时;
2.当升级失败时,如果忘记对数据库进行备份,会造成大量数据的丢失,且无法做到及时回滚。
发明内容
本发明所要解决的技术问题是提供一种Web软件的升级方法及装置,它能够提高软件升级的安全性。
为解决上述技术问题,本发明提供了一种Web软件的升级方法,包括:
在升级服务器端:
由原始升级包生成升级序列集;
对所述原始升级包和所述升级序列集进行加密,得到加密后的升级包和升级序列集;
在本地服务器端:
对所述加密后的升级包和升级序列集进行解密,得到解密后的升级包和升级序列集;
将所述解密后的升级包中包含的文件和所述解密后的升级序列集中的文件信息进行比较;
若不匹配,停止升级;
若匹配成功,根据升级文件进行升级。
进一步地,所述对所述原始升级包和所述升级序列集进行加密,得到加密后的升级包和升级序列集,包括:
对所述原始升级包和所述升级序列集进行位运算、字符串运算、与扩展密钥进行异或运算,得到所述加密后的原始升级包和升级序列集;
所述对所述加密后的升级包和升级序列集进行解密,得到解密后的升级包和升级序列集,包括:
对所述加密后的升级包和升级序列集与扩展密钥进行异或运算、反字符串运算、反位运算,得到所述解密后的升级包和升级序列集。
进一步地,还包括:
在升级服务器端:
生成所述加密后的升级序列集的标识码和Key钥;
对所述Key钥进行加密,得到加密后的Key钥;
对所述加密后的Key钥进行混淆,得到混淆后的Key钥;将所述混淆后的Key钥与所述加密后的升级序列集的标识码组合,得到混淆加密后的Key钥;
在本地服务器端:
对所述混淆加密后的Key钥进行反混淆,得到所述加密后的Key钥和加密后的升级序列集的标识码;
将所述在本地服务器端得到的加密后的升级序列集的标识码和在升级服务器端生成的加密后的升级序列集的标识码进行比较;
若不匹配,停止升级;
若匹配成功,对所述加密后的升级包和升级序列集进行解密。
进一步地,所述生成所述加密后的升级序列集的Key钥,包括:
对所述加密后的升级序列集进行映射,生成所述Key钥。
进一步地,还包括:
在升级服务器端:
生成所述加密后的升级序列集的Key钥的标识码;
通过所述Key钥的标识码创建密码本;
所述对所述加密后的Key钥进行混淆,得到混淆后的Key钥,包括:
对所述加密后的Key钥进行位混淆和/或字符串混淆,得到所述混淆后的Key钥;
在本地服务器端:
所述对所述混淆加密后的Key钥进行反混淆,得到所述加密后的Key钥和加密后的升级序列集的标识码,包括:
获取加密后的升级序列集的Key钥的标识码,将获取到的所述Key钥的标识码与所述密码本进行比较;
若不匹配,停止升级;
若匹配成功,对混淆加密后的Key钥进行位反混淆和/或字符串反混淆,得到所述加密后的Key钥和所述加密后的升级序列集的标识码。
本发明提供的Web软件的升级装置,包括:
在升级服务器端:
升级序列集产生模块,用于由原始升级包生成升级序列集;
第一加密模块,用于对所述原始升级包和所述升级序列集进行加密,得到加密后的升级包和升级序列集;
在本地服务器端:
解密模块,用于对所述加密后的升级包和升级序列集进行解密,得到解密后的升级包和升级序列集;
第一匹配模块,用于将所述解密后的升级包中包含的文件和所述解密后的升级序列集中的文件信息进行比较;
升级模块,用于若所述第一匹配模块的比较结果为匹配成功,根据升级文件进行升级。
进一步地,所述第一加密模块,具体用于对所述原始升级包和所述升级序列集进行位运算、字符串运算、与扩展密钥进行异或运算,得到所述加密后的原始升级包和升级序列集;
所述解密模块,具体用于对所述加密后的升级包和升级序列集与扩展密钥进行异或运算、反字符串运算、反位运算,得到所述解密后的升级包和升级序列集。
进一步地,还包括:
在升级服务器端:
第一标识码产生模块,用于生成所述加密后的升级序列集的标识码;
Key钥产生模块,用于生成所述加密后的升级序列集的Key钥;
第二加密模块,用于对所述加密后的升级序列集的Key钥进行加密,得到加密后的Key钥;
混淆执行模块,用于对所述加密后的Key钥进行混淆,得到混淆后的Key钥;
混淆加密Key钥产生模块,用于将所述混淆后的Key钥与所述加密后的升级序列集的标识码组合,得到混淆加密后的Key钥;
在本地服务器端:
反混淆模块,用于对所述混淆加密后的Key钥进行反混淆,得到所述加密后的Key钥和加密后的升级序列集的标识码;
第二匹配模块,用于将所述在本地服务器端得到的加密后的升级序列集的标识码和在升级服务器端生成的加密后的升级序列集的标识码进行比较;
所述解密模块,具体用于若所述第二匹配模块的比较结果为匹配成功,对所述加密后的升级包和升级序列集进行解密,得到解密后的升级包和升级序列集。
进一步地,所述Key钥产生模块,具体用于对所述加密后的升级序列集进行映射,生成所述Key钥。
进一步地,还包括:
在升级服务器端:
第二标识码产生模块,用于生成所述加密后的升级序列集的Key钥的标识码;
密码本产生模块,用于通过所述加密后的升级序列集的Key钥的标识码创建密码本;
所述混淆执行模块,具体用于对所述加密后的Key钥进行位混淆和/或字符串混淆,得到所述混淆后的Key钥;
在本地服务器端:
所述反混淆模块,包括:
比较单元,用于获取加密后的升级序列集的Key钥的标识码,将获取到的所述Key钥的标识码与所述密码本进行比较;
反混淆执行单元,用于若所述比较单元的比较结果为匹配成功,对混淆加密后的Key钥进行位反混淆和/或字符串反混淆,得到所述加密后的Key钥和所述加密后的升级序列集的标识码。
本发明提供的Web软件的升级方法及装置,在升级服务器端,先由原始升级包生成升级序列集,并对原始升级包和升级序列集进行加密得到加密后的升级包和升级序列集。在本地服务器端,对加密后的升级包和升级序列集进行解密得到解密后的升级包和升级序列集;再将解密后的升级包中包含的文件和解密后的升级序列集中的文件信息进行比较,再根据比较结果判断是否进行升级。由于本发明在对数据进行传输时,不仅对数据进行了加密处理,降低了数据被篡改的风险;而且还对得到的升级文件的准确性进行了判定,提高了软件升级的安全性。
附图说明
图1为本发明实施例提供的Web软件的升级方法的流程图;
图2为本发明实施例提供的Web软件的升级方法中对数据进行混淆的流程图;
图3为本发明实施例提供的Web软件的升级方法中对数据进行反混淆的流程图;
图4为本发明实施例提供的Web软件的升级装置的结构框图。
具体实施方式
为进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的Web软件的升级方法及装置的具体实施方式及工作原理进行详细说明。
参见图1,本发明实施例提供的Web软件的升级方法,包括:
在升级服务器端:
步骤S110:由原始升级包生成升级序列集;
对本步骤进行说明,先将原始升级包(如patch0630.zip)中升级文件的基本信息整合成升级序列,再将升级序列存放于升级序列集(如path0630.jsons)中。其中,升级文件的基本信息包括:创建时间、大小、文件类型、路径、MD5等等。
步骤S120:对原始升级包和升级序列集进行加密,得到加密后的升级包和升级序列集;
对本步骤进行说明,基于AES加密算法对原始升级包和升级序列集进行加密,具体为对原始升级包和升级序列集进行位运算、字符串运算、与扩展密钥进行异或运算,得到加密后的原始升级包和升级序列集;需要说明的是,本发明实施例也可以通过其他方式对原始升级包和升级序列集进行加密,不仅限于AES加密算法,本发明实施例对此不进行具体的限制。
在本地服务器端:
步骤S130:对加密后的升级包和升级序列集进行解密,得到解密后的升级包和升级序列集;
对本步骤进行说明,对加密后的升级包和升级序列集与扩展密钥进行异或运算、反字符串运算、反位运算,得到解密后的升级包和升级序列集。
步骤S140:将解密后的升级包中包含的文件和解密后的升级序列集中的文件信息进行比较;在本发明实施例中,需要将解密后的升级包中的所有升级文件的所有基本信息与解密后的升级序列集中的所有升级文件的所有基本信息进行比较;
若不匹配,则说明数据已经被篡改,软件升级的安全性下降,停止升级步骤;在本发明实施例中,若有其中任一个升级文件的任一个基本信息不匹配,停止升级;
若匹配成功,则说明数据正常,根据升级文件进行升级。在本发明实施例中,若所有升级文件的所有基本信息均匹配成功,根据升级文件进行升级。
需要说明的是,为了进一步地提高本发明实施例对软件升级的安全性,本发明实施例还可以包括对数据进行混淆和反混淆的步骤。
参见图2,对数据进行混淆的步骤包括:
在升级服务器端:
生成加密后的升级序列集的标识码和Key钥;其中,加密后的升级序列集的标识码为MD5码,如202cb962ac59075b964b07152d234b70。这里需要说明的是,加密后的升级序列集的标识码也可以是其他的唯一标识码,而不仅限于MD5码,本发明实施例对此不进行具体的限制。在本发明实施例中,可以通过对加密后的升级序列集进行映射,生成加密后的升级序列集的Key钥,如:c7-56-f8-88-52-6s-ef。
对加密后的升级序列集的Key钥进行加密,得到加密后的Key钥;
对本步骤进行说明,对加密后的升级序列集的Key钥进行位运算、字符串运算、与扩展密钥进行异或运算,得到加密后的Key钥;需要说明的是,在本步骤中,在对Key钥进行加密时,可以对Key钥进行位运算、字符串运算、与扩展密钥进行异或运算三种运算来实现加密,且三者的顺序不做限制;也可以对Key钥进行这三种运算中的任意一种或两种来实现加密;其中,当对Key钥进行其中任意两种运算来实现加密时,这两种运算的顺序不做限制。本发明实施例不对Key钥的加密步骤做出具体的限制。
对加密后的Key钥进行混淆,得到混淆后的Key钥,如YzctNTYtZjgtODgtNTItNnMtZWY=;将混淆后的Key钥与加密后的升级序列集的标识码组合,得到混淆加密后的Key钥,如202cb962ac59075b964b07152d234b70#YzctNTYtZjgtODgtNTItNnMtZWY=;其中,对加密后的Key钥进行混淆,得到混淆后的Key钥的具体步骤为:对加密后的Key钥进行位混淆和/或字符串混淆,得到混淆后的Key钥;需要说明的是,在本步骤中,对加密后的Key钥进行混淆时,可以既进行位混淆,又进行字符串混淆,两者的顺序不做限制;也可以两者仅执行其一,即仅进行位混淆或字符串混淆。当然,也可以通过其他的混淆方式对加密后的Key钥进行混淆,而不仅仅局限于这两种混淆方式,本发明实施例不对Key钥的混淆步骤做出具体的限制。
对数据进行反混淆的步骤包括:
在本地服务器端:
对混淆加密后的Key钥进行反混淆,得到加密后的Key钥和加密后的升级序列集的标识码;需要说明的是,为了能够对混淆加密后的Key钥进行反混淆,在升级服务器端,还需要生成加密后的升级序列集的Key钥的标识码;并通过该Key钥的标识码创建密码本;其中,加密后的升级序列集的Key钥的标识码为MD5码。当然,Key钥的标识码也可以是其他的唯一标识码,而不仅限于MD5码,本发明实施例对此不进行具体的限制;密码本根据标识码随机打散重新整合,通过Key钥产生的标识码在本发明实施例中匹配唯一密码本,通过密码本可以混淆AES加密Key钥,也可以反混淆得到正确的AES加密Key钥。参见图3,对本步骤进行具体的说明,先获取加密后的升级序列集的Key钥的标识码,再将获取到的Key钥的标识码与在升级服务器端创建的密码本进行比较;若不匹配,则说明Key钥的标识码可能在传输过程中已经被篡改,Key钥非法,软件升级的安全性下降,停止升级步骤;若匹配成功,则说明数据正常,Key钥合法,对混淆加密后的Key钥进行位反混淆和/或字符串反混淆,从而得到加密后的Key钥和加密后的升级序列集的标识码。其中,对混淆加密后的Key钥进行反混淆的步骤为混淆步骤的逆操作,即当只对Key钥进行位混淆时,只对混淆后的Key钥进行位反混淆;当只对Key钥进行字符串混淆时,只对混淆后的Key钥进行字符串反混淆;当对Key钥既进行位混淆,又进行字符串混淆时,对混淆后的Key钥既进行位反混淆,又进行字符串反混淆,反混淆为混淆的逆操作。
将在本地服务器端得到的加密后的升级序列集的标识码和在升级服务器端生成的加密后的升级序列集的标识码进行比较;
若不匹配,停止升级;
若匹配成功,则对加密后的升级包和升级序列集进行解密。
这里需要说明的是,若不对加密后Key钥进行混淆和反混淆的步骤,而仅进行加解密的步骤,则可以不在升级服务器端执行生成加密后的升级序列集的Key钥的标识码、通过该Key钥的标识码创建密码本、对加密后的Key钥进行混淆及对混淆加密后的Key钥进行反混淆的步骤。
最后需要说明的是,若本发明实施例是基于C/S架构的JDK1.6来构建的,在升级服务器端的工作人员将混淆加密后的Key钥、升级包和升级序列集发送到本地服务器端;在本地服务器端的工作人员接收数据,并进行相应的操作;若本发明实施例是基于B/S架构来构建的,在本地服务器端的工作人员则需要从配置服务器下载混淆加密后的Key钥、升级包和升级序列集,并进行相应的操作的。
本发明实施例加密相关API(应用程序接口)的函数为:
Public static byte[]encrypt(String content){}
AES加密函数,将明文文本加密并返回一串数组;
Public static byte[]decrypt(String content){}
AES解密函数,将加密Key钥解密并返回一串数组;
Public static byte[]hexEncrypt(String content){}
混淆算法函数,将Key钥混淆返回一串数组;
Public static byte[]hexDecrypt(String content){}
反混淆算法函数,将混淆Key钥反混淆返回一串数组。
参见图4,本发明实施例提供的Web软件的升级装置,包括:
在升级服务器端:
升级序列集产生模块100,用于由原始升级包生成升级序列集;
在本发明实施例中,升级序列集产生模块100,具体用于将原始升级包(如patch0630.zip)中升级文件的基本信息整合成升级序列,再将升级序列存放于升级序列集(如path0630.jsons)中。其中,升级文件的基本信息包括:创建时间、大小、文件类型、路径、MD5等等。
第一加密模块200,用于对原始升级包和升级序列集进行加密,得到加密后的升级包和升级序列集;
在本发明实施例中,第一加密模块200,具体用于对原始升级包和升级序列集进行位运算、字符串运算、与扩展密钥进行异或运算,得到加密后的原始升级包和升级序列集;
在本地服务器端:
解密模块300,用于对加密后的升级包和升级序列集进行解密,得到解密后的升级包和升级序列集;
在本发明实施例中,解密模块300,具体用于对加密后的升级包和升级序列集与扩展密钥进行异或运算、反字符串运算、反位运算,得到解密后的升级包和升级序列集。
第一匹配模块400,用于将解密后的升级包中包含的文件和解密后的升级序列集中的文件信息进行比较;
在本发明实施例中,第一匹配模块400,具体用于将解密后的升级包中的所有升级文件的所有基本信息与解密后的升级序列集中的所有升级文件的所有基本信息进行比较;
中止模块500,用于若第一匹配模块400的比较结果为不匹配,停止升级步骤;
在本发明实施例中,中止模块500,具体用于若第一匹配模块400的比较结果为有任一个升级文件的任一个基本信息不匹配,停止升级;
升级模块600,用于若第一匹配模块400的比较结果为匹配成功,根据升级文件进行升级。
在本发明实施例中,升级模块600,具体用于若第一匹配模块400的比较结果为所有升级文件的所有基本信息均匹配成功,根据升级文件进行升级。
需要说明的是,为了进一步地提高本发明实施例对软件升级的安全性,本发明实施例还可以包括对数据进行混淆和反混淆的功能模块。具体包括:
在升级服务器端:
第一标识码产生模块,用于生成加密后的升级序列集的标识码;其中,加密后的升级序列集的标识码为MD5码,如202cb962ac59075b964b07152d234b70。这里需要说明的是,加密后的升级序列集的标识码也可以是其他的唯一标识码,而不仅限于MD5码,本发明实施例对此不进行具体的限制。
Key钥产生模块,用于生成加密后的升级序列集的Key钥;
在本发明实施例中,Key钥产生模块,具体用于对加密后的升级序列集进行映射,生成加密后的升级序列集的Key钥,如:c7-56-f8-88-52-6s-ef。
第二加密模块,用于对加密后的升级序列集的Key钥进行加密,得到加密后的Key钥;
在本发明实施例中,第二加密模块,具体用于对加密后的升级序列集的Key钥进行位运算、字符串运算、与扩展密钥进行异或运算,得到加密后的Key钥;需要说明的是,在本步骤中,在对Key钥进行加密时,可以对Key钥进行位运算、字符串运算、与扩展密钥进行异或运算三种运算来实现加密,且三者的顺序不做限制;也可以对Key钥进行这三种运算中的任意一种或两种来实现加密;其中,当对Key钥进行其中任意两种运算来实现加密时,这两种运算的顺序不做限制。本发明实施例不对Key钥的加密步骤做出具体的限制。
混淆执行模块,用于对加密后的Key钥进行混淆,得到混淆后的Key钥,如YzctNTYtZjgtODgtNTItNnMtZWY=;
在本发明实施例中,混淆执行模块,具体用于对加密后的Key钥进行位混淆和/或字符串混淆,得到混淆后的Key钥;需要说明的是,在本步骤中,对加密后的Key钥进行混淆时,可以既进行位混淆,又进行字符串混淆,两者的顺序不做限制;也可以两者仅执行其一,即仅进行位混淆或字符串混淆。当然,也可以通过其他的混淆方式对加密后的Key钥进行混淆,而不仅仅局限于这两种混淆方式,本发明实施例不对Key钥的混淆步骤做出具体的限制。
混淆加密Key钥产生模块,用于将混淆后的Key钥与加密后的升级序列集的标识码组合,得到混淆加密后的Key钥,如202cb962ac59075b964b07152d234b70#YzctNTYtZjgtODgtNTItNnMtZWY=;
在本地服务器端:
反混淆模块,用于对混淆加密后的Key钥进行反混淆,得到加密后的Key钥和加密后的升级序列集的标识码;
需要说明的是,为了能够对混淆加密后的Key钥进行反混淆,在升级服务器端,还需要包括:
第二标识码产生模块,用于生成加密后的升级序列集的Key钥的标识码;其中,加密后的升级序列集的Key钥的标识码为MD5码。当然,Key钥的标识码也可以是其他的唯一标识码,而不仅限于MD5码,本发明实施例对此不进行具体的限制;
密码本产生模块,用于通过加密后的升级序列集的Key钥的标识码创建密码本;其中,密码本根据标识码随机打散重新整合,通过Key钥产生的标识码在本发明实施例中匹配唯一密码本,通过密码本可以混淆AES加密Key钥,也可以反混淆得到正确的AES加密Key钥。
由此可知,在本发明实施例中,反混淆模块,包括:
比较单元,用于获取加密后的升级序列集的Key钥的标识码,将获取到的Key钥的标识码与密码本进行比较;
中止单元,用于若比较单元的比较结果为不匹配,停止升级步骤;
反混淆执行单元,用于若比较单元的比较结果为匹配成功,对混淆加密后的Key钥进行位反混淆和/或字符串反混淆,得到加密后的Key钥和加密后的升级序列集的标识码。其中,对混淆加密后的Key钥进行反混淆的步骤为混淆步骤的逆操作,即当只对Key钥进行位混淆时,只对混淆后的Key钥进行位反混淆;当只对Key钥进行字符串混淆时,只对混淆后的Key钥进行字符串反混淆;当对Key钥既进行位混淆,又进行字符串混淆时,对混淆后的Key钥既进行位反混淆,又进行字符串反混淆,反混淆为混淆的逆操作。
第二匹配模块,用于将在本地服务器端得到的加密后的升级序列集的标识码和在升级服务器端生成的加密后的升级序列集的标识码进行比较;
中断模块,用于若第二匹配模块的比较结果为不匹配,停止升级;
解密模块,具体用于若第二匹配模块的比较结果为匹配成功,对加密后的升级包和升级序列集进行解密,得到解密后的升级包和升级序列集。
这里需要说明的是,若不对加密后Key钥进行混淆和反混淆的步骤,而仅进行加解密的步骤,则可以不包括混淆执行模块、混淆加密Key钥产生模块、反混淆模块、第二标识码产生模块和密码本产生模块,本发明实施例为包括这几个功能模块的优选实施例。
最后需要说明的是,若本发明实施例是基于C/S架构的JDK1.6来构建的,在升级服务器端的工作人员将混淆加密后的Key钥、升级包和升级序列集发送到本地服务器端;在本地服务器端的工作人员接收数据,并进行相应的操作;若本发明实施例是基于B/S架构来构建的,在本地服务器端的工作人员则需要从配置服务器下载混淆加密后的Key钥、升级包和升级序列集,并进行相应的操作的。
本发明实施例加密相关API(应用程序接口)的函数为:
Public static byte[]encrypt(String content){}
AES加密函数,将明文文本加密并返回一串数组;
Public static byte[]decrypt(String content){}
AES解密函数,将加密Key钥解密并返回一串数组;
Public static byte[]hexEncrypt(String content){}
混淆算法函数,将Key钥混淆返回一串数组;
Public static byte[]hexDecrypt(String content){}
反混淆算法函数,将混淆Key钥反混淆返回一串数组。
本发明实施例提供的Web软件的升级方法及装置,在升级服务器端,先由原始升级包生成升级序列集,并对原始升级包和升级序列集进行加密得到加密后的升级包和升级序列集。在本地服务器端,对加密后的升级包和升级序列集进行解密得到解密后的升级包和升级序列集;再将解密后的升级包中包含的文件和解密后的升级序列集中的文件信息进行比较,再根据比较结果判断是否进行升级。由于本发明在对数据进行传输时,不仅对数据进行了加密处理,降低了数据被篡改的风险;而且还对得到的升级文件的准确性进行了判定,提高了软件升级的安全性。另外,为了进一步地提高软件升级的安全性,本发明实施例还包括对数据进行混淆和反混淆的步骤,实现了对数据分别进行加密和混淆的两重处理,确保数据即便在被非法截取后,截取者也不能掌握密钥的加密方式,从而降低了数据被破解的风险,进一步降低了数据被篡改的风险,保护了原始数据,进而进一步地提高了软件升级的安全性。此外,由于本发明实施例可以基于C/S架构的JDK1.6来构建,所提供的软件升级方式不同于现有的在Web软件服务端存入完整升级包,手动调用工具解析升级包进行升级的升级方式,因此还避免了升级不及时和数据丢失的情况的发生。
最后所应说明的是,以上具体实施方式仅用以说明本发明的技术方案而非限制,尽管参照实例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (10)

1.一种Web软件的升级方法,其特征在于,包括:
在升级服务器端:
由原始升级包生成升级序列集;
对所述原始升级包和所述升级序列集进行加密,得到加密后的升级包和升级序列集;
在本地服务器端:
对所述加密后的升级包和升级序列集进行解密,得到解密后的升级包和升级序列集;
将所述解密后的升级包中包含的文件和所述解密后的升级序列集中的文件信息进行比较;
若不匹配,停止升级;
若匹配成功,根据升级文件进行升级。
2.如权利要求1所述的Web软件的升级方法,其特征在于,所述对所述原始升级包和所述升级序列集进行加密,得到加密后的升级包和升级序列集,包括:
对所述原始升级包和所述升级序列集进行位运算、字符串运算、与扩展密钥进行异或运算,得到所述加密后的原始升级包和升级序列集;
所述对所述加密后的升级包和升级序列集进行解密,得到解密后的升级包和升级序列集,包括:
对所述加密后的升级包和升级序列集与扩展密钥进行异或运算、反字符串运算、反位运算,得到所述解密后的升级包和升级序列集。
3.如权利要求1所述的Web软件的升级方法,其特征在于,还包括:
在升级服务器端:
生成所述加密后的升级序列集的标识码和Key钥;
对所述Key钥进行加密,得到加密后的Key钥;
对所述加密后的Key钥进行混淆,得到混淆后的Key钥;将所述混淆后的Key钥与所述加密后的升级序列集的标识码组合,得到混淆加密后的Key钥;
在本地服务器端:
对所述混淆加密后的Key钥进行反混淆,得到所述加密后的Key钥和加密后的升级序列集的标识码;
将所述在本地服务器端得到的加密后的升级序列集的标识码和在升级服务器端生成的加密后的升级序列集的标识码进行比较;
若不匹配,停止升级;
若匹配成功,对所述加密后的升级包和升级序列集进行解密。
4.如权利要求3所述的Web软件的升级方法,其特征在于,所述生成所述加密后的升级序列集的Key钥,包括:
对所述加密后的升级序列集进行映射,生成所述Key钥。
5.如权利要求4所述的Web软件的升级方法,其特征在于,还包括:
在升级服务器端:
生成所述加密后的升级序列集的Key钥的标识码;
通过所述Key钥的标识码创建密码本;
所述对所述加密后的Key钥进行混淆,得到混淆后的Key钥,包括:
对所述加密后的Key钥进行位混淆和/或字符串混淆,得到所述混淆后的Key钥;
在本地服务器端:
所述对所述混淆加密后的Key钥进行反混淆,得到所述加密后的Key钥和加密后的升级序列集的标识码,包括:
获取加密后的升级序列集的Key钥的标识码,将获取到的所述Key钥的标识码与所述密码本进行比较;
若不匹配,停止升级;
若匹配成功,对混淆加密后的Key钥进行位反混淆和/或字符串反混淆,得到所述加密后的Key钥和所述加密后的升级序列集的标识码。
6.一种Web软件的升级装置,其特征在于,包括:
在升级服务器端:
升级序列集产生模块,用于由原始升级包生成升级序列集;
第一加密模块,用于对所述原始升级包和所述升级序列集进行加密,得到加密后的升级包和升级序列集;
在本地服务器端:
解密模块,用于对所述加密后的升级包和升级序列集进行解密,得到解密后的升级包和升级序列集;
第一匹配模块,用于将所述解密后的升级包中包含的文件和所述解密后的升级序列集中的文件信息进行比较;
升级模块,用于若所述第一匹配模块的比较结果为匹配成功,根据升级文件进行升级。
7.如权利要求6所述的Web软件的升级装置,其特征在于,
所述第一加密模块,具体用于对所述原始升级包和所述升级序列集进行位运算、字符串运算、与扩展密钥进行异或运算,得到所述加密后的原始升级包和升级序列集;
所述解密模块,具体用于对所述加密后的升级包和升级序列集与扩展密钥进行异或运算、反字符串运算、反位运算,得到所述解密后的升级包和升级序列集。
8.如权利要求6所述的Web软件的升级装置,其特征在于,还包括:
在升级服务器端:
第一标识码产生模块,用于生成所述加密后的升级序列集的标识码;
Key钥产生模块,用于生成所述加密后的升级序列集的Key钥;
第二加密模块,用于对所述加密后的升级序列集的Key钥进行加密,得到加密后的Key钥;
混淆执行模块,用于对所述加密后的Key钥进行混淆,得到混淆后的Key钥;
混淆加密Key钥产生模块,用于将所述混淆后的Key钥与所述加密后的升级序列集的标识码组合,得到混淆加密后的Key钥;
在本地服务器端:
反混淆模块,用于对所述混淆加密后的Key钥进行反混淆,得到所述加密后的Key钥和加密后的升级序列集的标识码;
第二匹配模块,用于将所述在本地服务器端得到的加密后的升级序列集的标识码和在升级服务器端生成的加密后的升级序列集的标识码进行比较;
所述解密模块,具体用于若所述第二匹配模块的比较结果为匹配成功,对所述加密后的升级包和升级序列集进行解密,得到解密后的升级包和升级序列集。
9.如权利要求8所述的Web软件的升级装置,其特征在于,所述Key钥产生模块,具体用于对所述加密后的升级序列集进行映射,生成所述Key钥。
10.如权利要求9所述的Web软件的升级装置,其特征在于,还包括:
在升级服务器端:
第二标识码产生模块,用于生成所述加密后的升级序列集的Key钥的标识码;
密码本产生模块,用于通过所述加密后的升级序列集的Key钥的标识码创建密码本;
所述混淆执行模块,具体用于对所述加密后的Key钥进行位混淆和/或字符串混淆,得到所述混淆后的Key钥;
在本地服务器端:
所述反混淆模块,包括:
比较单元,用于获取加密后的升级序列集的Key钥的标识码,将获取到的所述Key钥的标识码与所述密码本进行比较;
反混淆执行单元,用于若所述比较单元的比较结果为匹配成功,对混淆加密后的Key钥进行位反混淆和/或字符串反混淆,得到所述加密后的Key钥和所述加密后的升级序列集的标识码。
CN201410385079.4A 2014-08-07 2014-08-07 一种Web软件的升级方法及装置 Active CN104135531B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410385079.4A CN104135531B (zh) 2014-08-07 2014-08-07 一种Web软件的升级方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410385079.4A CN104135531B (zh) 2014-08-07 2014-08-07 一种Web软件的升级方法及装置

Publications (2)

Publication Number Publication Date
CN104135531A true CN104135531A (zh) 2014-11-05
CN104135531B CN104135531B (zh) 2018-02-27

Family

ID=51808053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410385079.4A Active CN104135531B (zh) 2014-08-07 2014-08-07 一种Web软件的升级方法及装置

Country Status (1)

Country Link
CN (1) CN104135531B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850445A (zh) * 2015-06-05 2015-08-19 东信和平科技股份有限公司 一种安全的软件升级方法、装置及***
WO2018036166A1 (zh) * 2016-08-25 2018-03-01 中兴通讯股份有限公司 一种读取升级包的方法及装置
CN110502255A (zh) * 2018-05-17 2019-11-26 许昌许继软件技术有限公司 一种轨道交通综合监控***的软件升级***
CN110636081A (zh) * 2019-10-18 2019-12-31 珠海市杰理科技股份有限公司 数据解密处理方法、数据加密处理方法及装置
CN112260998A (zh) * 2020-09-23 2021-01-22 远光软件股份有限公司 一种网络题目的答案保护方法和装置
CN117573142A (zh) * 2024-01-15 2024-02-20 广州大学 基于模拟执行的java代码反混淆器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1819126A1 (en) * 2006-02-10 2007-08-15 3COM Corporation Bi-planar network architecture
CN101557308A (zh) * 2009-05-06 2009-10-14 成都市华为赛门铁克科技有限公司 一种文件的升级方法及终端设备
CN101924607A (zh) * 2010-08-27 2010-12-22 华为终端有限公司 基于固件空中传输技术的固件处理方法、装置及***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1819126A1 (en) * 2006-02-10 2007-08-15 3COM Corporation Bi-planar network architecture
CN101557308A (zh) * 2009-05-06 2009-10-14 成都市华为赛门铁克科技有限公司 一种文件的升级方法及终端设备
CN101924607A (zh) * 2010-08-27 2010-12-22 华为终端有限公司 基于固件空中传输技术的固件处理方法、装置及***

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850445A (zh) * 2015-06-05 2015-08-19 东信和平科技股份有限公司 一种安全的软件升级方法、装置及***
WO2018036166A1 (zh) * 2016-08-25 2018-03-01 中兴通讯股份有限公司 一种读取升级包的方法及装置
CN110502255A (zh) * 2018-05-17 2019-11-26 许昌许继软件技术有限公司 一种轨道交通综合监控***的软件升级***
CN110502255B (zh) * 2018-05-17 2023-12-29 许昌许继软件技术有限公司 一种轨道交通综合监控***的软件升级***
CN110636081A (zh) * 2019-10-18 2019-12-31 珠海市杰理科技股份有限公司 数据解密处理方法、数据加密处理方法及装置
CN112260998A (zh) * 2020-09-23 2021-01-22 远光软件股份有限公司 一种网络题目的答案保护方法和装置
CN112260998B (zh) * 2020-09-23 2022-12-06 远光软件股份有限公司 一种网络题目的答案保护方法和装置
CN117573142A (zh) * 2024-01-15 2024-02-20 广州大学 基于模拟执行的java代码反混淆器
CN117573142B (zh) * 2024-01-15 2024-04-23 广州大学 基于模拟执行的java代码反混淆器

Also Published As

Publication number Publication date
CN104135531B (zh) 2018-02-27

Similar Documents

Publication Publication Date Title
CN103460195B (zh) 用于安全软件更新的***和方法
EP1891766B1 (en) System and method for remote device registration
US8171560B2 (en) Secure content pre-distribution to designated systems
CN104135531A (zh) 一种Web软件的升级方法及装置
US7882358B2 (en) Reversible hashing for E-signature verification
CN112187544B (zh) 固件升级方法、装置、计算机设备及存储介质
CN110278115B (zh) 热更新方法及装置
CN108595198B (zh) 一种安全的固件更新方法
CN106936588B (zh) 一种硬件控制锁的托管方法、装置及***
US8959659B2 (en) Software authorization system and method
CN102456111B (zh) 一种Linux操作***许可控制的方法及***
CN102082784A (zh) 一种软件在线升级方法
CN110855426B (zh) 一种用于软件使用授权的方法
CN113378119B (zh) 一种软件授权方法、装置、设备及存储介质
CN103403729A (zh) 唯一代码签名密钥的安全管理和个性化
CN115374405A (zh) 软件授权方法、许可授权方法、装置、设备和存储介质
US20100031049A1 (en) Time information distribution system, time distributing station, terminal, time information distribution method, and program
WO2021259310A1 (zh) 空中下载更新方法、更新服务器、终端设备和物联网***
CN108710804A (zh) 一种计算机uefi固件的带硬件加密快速更新方法
CN108933790A (zh) 高安全等级的ota升级固件的加密方法
KR101711024B1 (ko) 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
CN115766270A (zh) 文件解密方法、加密方法、密钥管理方法、装置及设备
CN112165396A (zh) 一种安全固件更新的方法
JP4989806B2 (ja) 遠隔装置登録のためのシステムと方法
CN114726539B (zh) 一种基于可信密码模块tcm的离线升级方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 430000 room 2304, block A, 10 Chuang Chuang street, East Lake Development Zone, Wuhan, Hubei.

Patentee after: WUHAN EMAN TECHNOLOGY CO.,LTD.

Address before: 430074 the 23 seat of block A, 10 Optics Valley business street, East Lake Development Zone, Wuhan, Hubei.

Patentee before: WUHAN EMAN SOFTWARE TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method and device for upgrading web software

Effective date of registration: 20231227

Granted publication date: 20180227

Pledgee: Pudong Shanghai Development Bank Limited by Share Ltd. Wuhan branch

Pledgor: WUHAN EMAN TECHNOLOGY CO.,LTD.

Registration number: Y2023980074590

PE01 Entry into force of the registration of the contract for pledge of patent right